Avatar billede riishoj Nybegynder
21. marts 2007 - 17:29 Der er 6 kommentarer og
2 løsninger

Hjælp til JMail

Jeg har et jmailscript kørende, som sender en mail til en mailliste med ca. 50 adresser. Desværre er folk ikke altid lige flinke til at sørge for, at deres mailadresse er gyldig, og det giver problemer. Når scriptet støder på en ugyldig adresse og ikke kan aflevere emailen, så stopper det der, dvs. at resten af adresserne på maillisten ingen brev får. Det er jo ikke så smart.

Er der en som kan hjælpe mig med en kode, som tvinger scriptet til at loope videre, også selv om det skulle støde på en ugyldig adresse.

Do While Not (rs.Eof)
  Set JMail = Server.CreateObject("JMail.SMTPMail")
  JMail.ContentType = ""
  JMail.ServerAddress = "xxxxxxxx"
  JMail.Sender = "xxxxxxxxx"
  'JMail.Message.MailServerUsername = ""
  'JMail.Message.MailServerPassword = ""
  JMail.SenderName = "xxxxxxx"
  JMail.Subject = "Ugebrev - UGE "& ugenr &" "
  JMail.Body = "Du skal understøtte html mails for at læse denne mail"
  JMail.HTMLBody = strbesked
  JMail.AddRecipientEx "" & rs("email") & "", "" & rs("email") & ""
  JMail.Logging = true
  JMail.Execute
  Set JMail = Nothing
 
  response.write "" & rs("Email") & " - Afsendt korrekt<br>"
  rs.MoveNext
Loop
Avatar billede madeindk Nybegynder
21. marts 2007 - 17:32 #1
Du kan sætte en On Error Resume Next på :-) Funktionens navn siger vel det meste...

<%
Do While Not (rs.Eof)
 
  Set JMail = Server.CreateObject("JMail.SMTPMail")
  JMail.ContentType = ""
  JMail.ServerAddress = "xxxxxxxx"
  JMail.Sender = "xxxxxxxxx"
  'JMail.Message.MailServerUsername = ""
  'JMail.Message.MailServerPassword = ""
  JMail.SenderName = "xxxxxxx"
  JMail.Subject = "Ugebrev - UGE "& ugenr &" "
  JMail.Body = "Du skal understøtte html mails for at læse denne mail"
  JMail.HTMLBody = strbesked
  JMail.AddRecipientEx "" & rs("email") & "", "" & rs("email") & ""
  JMail.Logging = true
  JMail.Execute
  Set JMail = Nothing
 
  response.write "" & rs("Email") & " - Afsendt korrekt<br>"
 
  On Error Resume Next
 
  rs.MoveNext
Loop
%>
Avatar billede softspot Forsker
21. marts 2007 - 18:04 #2
Jeg ville nu nok sætte resume next et andet sted, da det (potentielt set) er for sent efter den første mail er sendt:

on error resume next

Do While Not (rs.Eof)
  Set JMail = Server.CreateObject("JMail.SMTPMail")
  if err.number = 0 then
    JMail.ContentType = ""
    JMail.ServerAddress = "xxxxxxxx"
    JMail.Sender = "xxxxxxxxx"
    JMail.SenderName = "xxxxxxx"
    JMail.Subject = "Ugebrev - UGE "& ugenr &" "
    JMail.Body = "Du skal understøtte html mails for at læse denne mail"
    JMail.HTMLBody = strbesked
    JMail.AddRecipientEx "" & rs("email") & "", "" & rs("email") & ""
    JMail.Logging = true
    JMail.Execute
    if err.number = 0 then
      response.write "" & rs("Email") & " - Afsendt korrekt<br>"
    else
      response.write "Mail kunne ikke sendes til " & rs("Email") & " - Afsendelse fejlede!<br>"
      err.clear
    end if
  else
    response.write "Det var ikke muligt at oprette mail-objektet."
    err.clear
    exit do
  end if
  Set JMail = Nothing
 
  rs.MoveNext
Loop

' slå fejlhåndtering til så andre fejl dukker op og kan rettes
' inden rigtige brugere får dem at se...
on error goto 0

' luk resultatet, så der ikke spildes unødige resurser
rs.close
set rs = nothing
Avatar billede riishoj Nybegynder
21. marts 2007 - 18:59 #3
Tak for jeres svar. Madeindk's forslag løser umiddelbart mit problem. Det får i hvert fald scriptet til at overspringe de to mailadresser, som jeg har fundet ud af er ugyldige på maillisten.
Dog kan jeg se, at softspot har ret i det han foreslår. Jeg får først tid til at afprøve det i morgen, men vender tilbage med resultat og point (I kan vel dele?)
Avatar billede madeindk Nybegynder
21. marts 2007 - 20:00 #4
Det kan vi sagtens.

Her er mit svar ihvertfald ;-)
Avatar billede softspot Forsker
21. marts 2007 - 20:52 #5
og mit :)
Avatar billede madeindk Nybegynder
27. marts 2007 - 18:45 #6
Skal vi lukke?
Avatar billede riishoj Nybegynder
27. marts 2007 - 19:16 #7
Sorry. Jeg havde helt glemt jer. Sådan kan det desværre gå, når man får et hurtigt svar. 1000 tak for hjælpen.
Avatar billede softspot Forsker
27. marts 2007 - 19:27 #8
Velbekomme og tak for point :)
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
Kurser inden for grundlæggende programmering

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