Avatar billede websam Nybegynder
16. februar 2004 - 19:47 Der er 8 kommentarer og
1 løsning

On Error Resume Next

Hejsa :o)

Jeg bruger følgende til at sende nyheds mail med og ville så gerne kunne fange de email addresser der ikke længer duer.

Dette vil jeg gøre med on error resume next men der gemmes ikke noget i min database er der en der kan svare på hvad jeg gør forkert ?

Dim Sql, Rs, Err, Jmail
Sql = "Select Id, Email From tblNewsletter Order By Id Desc"
Set Rs = Conn.Execute(Sql)

Do While Not Rs.Eof
    On Error Resume Next
    Set JMail          = CreateObject("JMail.SMTPMail")
    JMail.ServerAddress = "xxx.xxx.dk"
    JMail.Sender        = "xxx@xxx.dk"
    JMail.SenderName    = "xxxxxxx"
    JMail.Subject      = "xxxxxxx"
    JMail.AddRecipient  Rs("Email")
    JMail.Priority      = 3
    JMail.AddHeader    "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
    JMail.HtmlBody = strBodyMail
    JMail.Execute
    Set JMail = Nothing
    If Err <> 0 Then
        Sql = "Insert Into tblNewsletterLog (MailId, Description, Email) Values ("&Rs("Id")&", '"&Err.Description&"', '"&Rs("Email")&"')"
        Conn.Execute(Sql)
    End If
Rs.MoveNext
Loop

Det skal siges at jeg heller ikke får nogen fejl på koden hvis jeg plinger on error resum next ud :o)

/Websam
Avatar billede Slettet bruger
16. februar 2004 - 20:07 #1
Et skud, prøv Err.Number <> 0 istedet for Err <> 0
men jeg ved ikke om det vil virke med din On Error.....
Avatar billede websam Nybegynder
16. februar 2004 - 20:18 #2
Det gav ingen forskel jeg får stadig ikke noget i databasen :o(

/Websam
Avatar billede eagleeye Praktikant
16. februar 2004 - 20:30 #3
Jmail har sin egen fejl håndtering, du kan sætte .silent til true og tjekke på Jmail.Execute giver den false tilbage har der været en fejl:
JMail.silent = true

Fra deres hjemmeside: Set to true, JMail will not trow exceptions. Instead JMail.execute() will return true or false depending on the success of the operation


Så det sidste i koden bliver:

    JMail.silent = true
    if not JMail.Execute then
        Sql = "Insert Into tblNewsletterLog (MailId, Description, Email) Values ("&Rs("Id")&", '"&Err.Description&"', '"&Rs("Email")&"')"
        Conn.Execute(Sql)
    End If
    Set JMail = Nothing
Rs.MoveNext
Loop
Avatar billede Slettet bruger
16. februar 2004 - 20:31 #4
Du får et skud mere

On Error Goto Errhandler
Dim Sql, Rs, Err, Jmail
Sql = "Select Id, Email From tblNewsletter Order By Id Desc"
Set Rs = Conn.Execute(Sql)

Do While Not Rs.Eof
    Set JMail          = CreateObject("JMail.SMTPMail")
    JMail.ServerAddress = "xxx.xxx.dk"
    JMail.Sender        = "xxx@xxx.dk"
    JMail.SenderName    = "xxxxxxx"
    JMail.Subject      = "xxxxxxx"
    JMail.AddRecipient  Rs("Email")
    JMail.Priority      = 3
    JMail.AddHeader    "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
    JMail.HtmlBody = strBodyMail
    JMail.Execute
    Set JMail = Nothing
Rs.MoveNext
Loop

Errorhandler:
    If Err.Number <> 0 Then
        Sql = "Insert Into tblNewsletterLog (MailId, Description, Email) Values ("&Rs("Id")&", '"&Err.Description&"', '"&Rs("Email")&"')"
        Conn.Execute(Sql)
      Resume next
End if
Avatar billede Slettet bruger
16. februar 2004 - 20:32 #5
Og Eagleeye's løsning lyder meget mere smart :-)
Avatar billede websam Nybegynder
16. februar 2004 - 20:53 #6
bertie >> Så vidt jeg husker er det kun muligt at bruge i visual basic og ikke i asp det virker i hvertfald ikke :o(

eagleeye >> Smid et svar så er der point på vej til dig det virker fint og så kan jeg langt om længe få lavet schedule færdig til det mail modul :o)

/websam
Avatar billede Slettet bruger
16. februar 2004 - 20:54 #7
websam, var også kun et skud, kunne nemlig heller ikke huske det, men når Jmail ligefrem har funktionen ja så kan man jo lige så godt bruge det.
Avatar billede websam Nybegynder
16. februar 2004 - 21:04 #8
Ja klart kan man det :o)
Avatar billede eagleeye Praktikant
16. februar 2004 - 21:25 #9
ok her et svar fra mig :)
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