Avatar billede tjensen Nybegynder
15. april 2003 - 01:34 Der er 15 kommentarer og
1 løsning

JMail modtager adresse skal hentes fra db.

Hej Eksperter,

Jeg har et JMail.speedmailer script til at sende en mail til alle der har tilmeld sig på en mailing liste.
Det virker fint nok, men nu vil jeg gerne lave den om til en JMail.Message. Mit hoved problem er, hvordan henter den adressen fra en db. Virkede ved JMail.speedmailer, men ikke da jeg kopirede det over.

Jeg har følgende JMail.speedmailer:

If Request.QueryString("Submit") <> "" Then

set JMail = Server.CreateObject("JMail.Speedmailer")

Set database = Server.CreateObject("ADODB.Connection")
database.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\cgi-bin\shoot.mdb")

Set indlaeg = Server.CreateObject("ADODB.Recordset")
indlaeg.Open "dagbogsindlaeg", database, 2, 2

indlaeg.AddNew
    indlaeg("overskrift") = Request.QueryString("overskrift")
    indlaeg("dato") = Request.QueryString("dato")
    indlaeg("indlaeg") = Request.QueryString("indlaeg")
    If Request.QueryString("link") <> "" then
        indlaeg("link") = Request.QueryString("link")
    End If
indlaeg.Update

Set emailadr = Server.CreateObject("ADODB.Recordset")
emailadr.Open "SELECT * FROM mailingliste", database

While NOT emailadr.EOF

JMail.SendMail "noreply@mail.dk", emailadr.Fields("email"), "Så er der nyt opslag på Shootfighting Sønderborg!", "Hej, smut lige forbi http://80.196.132.129, og se det nye indlæg.", "mail.tele.dk"

emailadr.MoveNext

Wend

Response.Redirect("dagbog.asp")

End If



Og mit forsøg ser cirka sådan ud, men som I nok hurtigt ser styrer jeg intet i JMail :) 

If Request.QueryString("Submit") <> "" Then

set jmail = Server.CreateObject("JMail.Message")

Set database = Server.CreateObject("ADODB.Connection")
database.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\cgi-bin\shoot.mdb")

Set indlaeg = Server.CreateObject("ADODB.Recordset")
indlaeg.Open "dagbogsindlaeg", database, 2, 2

indlaeg.AddNew
    indlaeg("overskrift") = Request.QueryString("overskrift")
    indlaeg("dato") = Request.QueryString("dato")
    indlaeg("indlaeg") = Request.QueryString("indlaeg")
    If Request.QueryString("link") <> "" then
        indlaeg("link") = Request.QueryString("link")
    End If
indlaeg.Update

Set emailadr = Server.CreateObject("ADODB.Recordset")
emailadr.Open "SELECT * FROM mailingliste", database

While NOT emailadr.EOF

jmail.AddRecipient "emailadr.Fields("email")"
jmail.From = "noreply@mail.dk"

jmail.Subject = "Så er der nyt opslag på Shootfighting Sønderborg!"
jmail.Body = "bla"

' The return value of AddAttachment is used as a
' reference to the image in the HTMLBody.
contentId = jmail.AddAttachment("/pic/ovrskrft.gif")

' As only HTML formatted emails can contain inline images
' we use HTMLBody and appendHTML
jmail.HTMLBody = "<html><body><font color=""red"">blabla</font><br>"
jmail.appendHTML "<img src=""cid:" & contentId & """>"
jmail.appendHTML "<br><br>blablabla</body></html>"

' But as not all mailreaders are capable of showing HTML emails
' we will also add a standard text body
jmail.Body = "ha bla"
jmail.appendText " ha blabla"

jmail.Send( "mail.tele.dk" )

emailadr.MoveNext

Wend

Response.Redirect("dagbog.asp")

End If



Håber der sidder nogle friske mennesker ved denne tid som har overskud til at hjælpe mig ;)
Avatar billede locturian Nybegynder
15. april 2003 - 13:59 #1
Jamen? JMAIL og speedmailer er 2 forskellige komponenter?

Sådan her bruger du JMAIL;

set msg = Server.CreateOBject( "JMail.Message" )
msg.ContentType = "text/html"
msg.Logging = true
msg.silent = true
msg.From = "mitnavn@clan-scire.dk"
msg.FromName = "Mit Navn"
msg.AddRecipient "Modtagers e-mail adresse"
msg.Subject = "Emne"
msg.Body = "Hele e-mailen - bla bla!"

if not msg.Send("pasmtp.tele.dk") then
Response.Write "Mailen kunne ikke afsendes grundet:<br>"
Response.Write msg.log
else
Response.Write "Mailen er korrekt afsendt."
end if
Avatar billede tjensen Nybegynder
15. april 2003 - 14:04 #2
Hmm, tak for det...

Så skal hoved problemt jo løses,
msg.AddRecipient "Modtagers e-mail adresse" skal hentes fra shoot.mdb
Avatar billede locturian Nybegynder
15. april 2003 - 14:08 #3
Jo, gør du nemt sådan her;

msg.AddRecipient (rs("mailadresse"))

Bare ændre rs("mailadresse") til dit recordset navn og navn på dit felt
Avatar billede tjensen Nybegynder
15. april 2003 - 14:09 #4
Jamen ja, det lyder nemt, prøver lige ;)
Avatar billede locturian Nybegynder
15. april 2003 - 14:11 #5
How, så skal du også lige ændre mail adressen mitnavn@clan-scire.dk ;)
Avatar billede tjensen Nybegynder
15. april 2003 - 14:13 #6
Hehe, den havde jeg lige luret. Helt noob er jeg ikke ;)

Men jeg har derimod sværer ved at flette det sammen med at den skal sende til alle i min db, der skal jo skrives en løkke ind.
Avatar billede locturian Nybegynder
15. april 2003 - 14:16 #7
Ja, det er jo ikke svært ?
Avatar billede tjensen Nybegynder
15. april 2003 - 14:18 #8
Hvor mange point skal du have for at skrive de 2 sammen, jeg kager virkelig i det herhjemme nu.

Alle info'er er der vist.
Avatar billede locturian Nybegynder
15. april 2003 - 14:39 #9
Bare giv mig de 60 point, og 140 bagefter... ;)

do until emailadr.eof

set msg = Server.CreateOBject( "JMail.Message" )
msg.ContentType = "text/html"
msg.Logging = true
msg.silent = true
msg.From = "din@email.dk"
msg.FromName = "dit navn"
msg.AddRecipient (emailadr("email"))
msg.Subject = "Emne"
msg.Body = "Så er der nyt opslag på Shootfighting Sønderborg!"

if not msg.Send("pasmtp.tele.dk") then
Response.Write "Mailen kunne ikke afsendes grundet:<br>"
Response.Write msg.log
else
Response.Write "Mailen er korrekt afsendt."
end if

emailadr.movenext


Noget ala det, ret selv det sidste til... Din connection skal self være med oppe over det der
Avatar billede tjensen Nybegynder
15. april 2003 - 14:59 #10
Okay, lang historie -kort.
Jeg har en dagbog.asp siden, http:/80.196.132.129/dagbog.asp, når man trykker opret indlæg hopper den ind på opret.asp, hvor man logger ind. Derefter skulle man kunne lave et indlæg. Og en mail skal så sendes til alle folk på mailinglisten, når man trykker submit. Derefter skal man egentlig ikke vide om det lykkedes at sende korrekt. Den skal bare hoppe tilbage på dagbos.asp.

Mit forsøg på opret.asp:
<%@LANGUAGE="VBSCRIPT"%>

<%
If Session("validering") <> "valid" Then Response.Redirect("dagbog.asp")

If Request.QueryString("Submit") <> "" Then

Set database = Server.CreateObject("ADODB.Connection")
database.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\cgi-bin\shoot.mdb")

Set indlaeg = Server.CreateObject("ADODB.Recordset")
indlaeg.Open "dagbogsindlaeg", database, 2, 2

indlaeg.AddNew
    indlaeg("overskrift") = Request.QueryString("overskrift")
    indlaeg("dato") = Request.QueryString("dato")
    indlaeg("indlaeg") = Request.QueryString("indlaeg")
    If Request.QueryString("link") <> "" then
        indlaeg("link") = Request.QueryString("link")
    End If
indlaeg.Update

set emailadr = Server.CreateObject("ADODB.Recordset")
emailadr.Open "SELECT * FROM mailingliste", database

do until emailadr.eof

set msg = Server.CreateOBject( "JMail.Message" )
msg.ContentType = "text/html"
msg.Logging = true
msg.silent = true
msg.From = "norelpy@mail.dk"
msg.FromName = "Shootfighting Sønderborg"
msg.AddRecipient (rs("emailadr"))
msg.Subject = "Nyt på Shootfighting Sønderborg"
msg.Body = "Så ligger der et nyt indlæg på Shootfighting Sønderborg"
msg.HTMLBody = "<br><br><a href="http://80.196.132.129/dagbog.asp target="_blank"">Klik her for at komme dertil</a>"
msg.HTMLBody = "<br><br><a href="http://80.196.132.129/mailinglistslet.asp target="_blank"">Træt af mails, slip fri her</a>"

if not msg.Send("mail.tele.dk") then
Response.Redirect("dagbog.asp")
else
Response.Redirect("dagbog.asp")
end if

emailadr.movenext

End If
%>

<html><title>Opret</title>
<body bgcolor="#FFFFFF">
<form name="form1" method="get" action="opret.asp">
  Overskrift:
  <input type="text" name="overskrift">
  <br>
  Dato:
  <input type="text" name="dato">
  (12-04-2003)<br>
  Indlæg.:
  <textarea name="indlaeg" rows="8"></textarea>
  <br>
  Link:
  <input type="text" name="link">
  (www.shootersinternational.org)<br>
  <br>
  <input type="submit" name="Submit" value="Opret">
</form>

</body>
</html>

Den melder fejl i lini 37 og garanteret 38, hvis den kom så langt.

msg.HTMLBody = "<br><br><a href="http://80.196.132.129/dagbog.asp target="_blank"">Klik her for at komme dertil</a>"

msg.HTMLBody = "<br><br><a href="http://80.196.132.129/mailinglistslet.asp target="_blank"">Træt af mails, slip fri her</a>"
Avatar billede tjensen Nybegynder
15. april 2003 - 15:00 #11
Ønsker man at prøve, for at give et svar så:

brugernavn: ekspert
pas: ekspert
Avatar billede locturian Nybegynder
15. april 2003 - 15:07 #12
virker det ?
Avatar billede tjensen Nybegynder
15. april 2003 - 15:34 #13
nej...

Den melder fejl i lini 37 og garanteret 38, hvis den kom så langt.

msg.HTMLBody = "<br><br><a href="http://80.196.132.129/dagbog.asp target="_blank"">Klik her for at komme dertil</a>"

msg.HTMLBody = "<br><br><a href="http://80.196.132.129/mailinglistslet.asp target="_blank"">Træt af mails, slip fri her</a>"
Avatar billede locturian Nybegynder
15. april 2003 - 15:36 #14
ja, det er fordi at når du sætter det ind på den måde, skal du erstatte " med ', dsv, hvis du siger Noget = "<a href="bla">" fatter den det ikke... Derfor skal det være Noget = "<a href='bla'>" - Så virker det
Avatar billede tjensen Nybegynder
15. april 2003 - 15:41 #15
Fejlmed.:

/opret.asp, line 48
end if


46 emailadr.movenext
47
48 End If
49 %>
Avatar billede tjensen Nybegynder
15. april 2003 - 15:54 #16
Når jeg fjerne den, så er der fejl i linie 46
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester