' ********** Her starter selve email-en JMail.Body = "Dette er linie 1 af brevet" & vbCrLf &_ "Og her kommer linie 2" ' ********** Her slutter selve email-en
If Not JMail.Execute Then Response.Write "ERROR MESSAGE: " & JMail.ErrorMessage & "<br/>" & vbCrLf Response.Write "ERROR SOURCE: " & JMail.ErrorSource & "<br/>" & vbCrLf Response.Write "LOG: <pre>" & JMail.Log & "</pre>" & vbCrLf Else Response.Write "<html><body>Emailen er sendt!</body></html>" End If
Nu kan jeg sende emails. Men jeg har ikke kun brug for at vide om Jmail.execute er true, men også om der kommer en fejlkode retur, som f.eks 550 mailbox uavailable.
' ********** Her starter selve email-en JMail.Body = "Dette er linie 1 af brevet" & vbCrLf &_ "Og her kommer linie 2" ' ********** Her slutter selve email-en
If Not JMail.Execute Then Response.Write "ERROR MESSAGE: " & JMail.ErrorMessage & "<br/>" & vbCrLf Response.Write "ERROR SOURCE: " & JMail.ErrorSource & "<br/>" & vbCrLf Response.Write "LOG: <pre>" & JMail.Log & "</pre>" & vbCrLf Else Response.Write "<html><body>Emailen er sendt!</body></html>" End If
1) Denne kode udskriver en fejlmeddelelse, hvis der opstår fejl, og "Emailen er sendt", hvis det går galt:
If Not JMail.Execute Then Response.Write "ERROR MESSAGE: " & JMail.ErrorMessage & "<br/>" & vbCrLf Response.Write "ERROR SOURCE: " & JMail.ErrorSource & "<br/>" & vbCrLf Response.Write "LOG: <pre>" & JMail.Log & "</pre>" & vbCrLf Else Response.Write "<html><body>Emailen er sendt!</body></html>" End If
2) Hvordan vil du helst modtage oplysningerne? - Hvis fejlen er "550 mailbox unavailable", kan du godt modtage en mail, og du kan få en rapport - Hvis fejlen er, at der overhovedet ikke kan sendes mail, kan du ikke få en rapport via mail.
Man kunne som alternativ gemme rapporten i en database, og lave en status-side, så du kun se om der har været fejl..
If Not JMail.Execute Then ' Der gik et eller andet galt. ' Undersøg om fejlbeskrivelsen indeholder "550 mailbox unavailable": If InStr(JMail.ErrorMessage, "550 mailbox unavailable") > 0 Then ' Yep, fejlbeskrivelsen indeholder "550 mailbox unavailable", opdater profil her Else ' Det var ikke "550 mailbox unavailable", men en anden fejl.. gør noget andet her End If Else Response.Write "<html><body>Emailen er sendt!</body></html>" End If
Nej. Der er noget galt.:( Uanset hvad jeg skriver i JMail.AddRecipient, vises scriptet at mailen er sendt ok, hvilket ikke kan passe.
Feks.
<% Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.Logging = True JMail.Silent = True
JMail.ServerAddress = "websmtp.mitdomaine.dk" JMail.Sender = "info@mitdomaine.dk" JMail.Subject = "Information" JMail.AddRecipient "inf@blaxxxzt.dkxom" JMail.Priority = 3 JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR") JMail.Body = "Dette er linie 1 af brevet" & vbCrLf &_ "Og her kommer linie 2"
If Not JMail.Execute Then 'response.write("Der gik et eller andet galt.") 'Undersøg om fejlbeskrivelsen indeholder "550 mailbox unavailable": If InStr(JMail.ErrorMessage, "550 mailbox unavailable") > 0 Then response.write ("Yep, fejlbeskrivelsen indeholder 550 mailbox unavailable, opdater profil her") Else response.write ("Det var ikke 550 mailbox unavailable, men en anden fejl.. gør noget andet her") End If Else Response.Write "<html><body>Emailen er sendt!</body></html>" End If
Emailen er sendt! -------------------------------------------------------------------------------- fejlbeskrivelse?: fejlkilde?: fejllog?: .execute() { Trying server mail:websmtp.profiler.dk <- 220 127.0.0.1 ArGoSoft Mail Server Pro for WinNT/2000/XP, Version 1.8 (1.8.3.5) -> EHLO mailserver <- 250-Welcome, 85.115.331.218 [85.115.331.218], pleased to meet you 250-SIZE 104857600 250 HELP -> MAIL FROM: <- 250 Sender "info@profiler.dk" OK... -> RCPT TO:blablaxxxx@gmailhg.hchom <- 250 Recipient "blablaxxxx@gmailhg.hchom" OK... -> DATA <- 354 Enter mail, end with "." on a line by itself Sending headers... Sending body... Message sent <- 250 Message accepted for delivery. <7ane5oe2tzlu3nn.250720081823@127.0.0.1> 0 of 1 servers failed }
Hvis JMail ikke når at opfange at der er noget galt (f.eks. "Domain name does not exist"), inden den sender mailen afsted, er der vel ikke så meget man kan gøre.
Hvis du har mulighed for at afvikle kode, når mailkontoen "info" får mails, kunne du f.eks. sende brugerid i mailen til brugeren. Hvis du får en "Domain name does not exist" mail retur, aflæser du brugerid som var sendt med, hvilket gør at du kan opdaterer profilen der.
Men som sagt kræver det at du, på en eller anden måde, kan afvikle noget kode, når "info" modtager mails..
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.