Avatar billede ullidk Nybegynder
26. april 2005 - 22:01 Der er 3 kommentarer og
1 løsning

Spot fejlen, please!

Hejsa,

Har flg. script:
Response.Expires = 0
strQuery = "SELECT * FROM newsletterTest"
Set objRS = objConn.Execute(strQuery)

While Not objRS.EOF

   
    'Send nyhedsbrev som ren tekst
        Body = Upload.Form("subject")
        Body = Body & vbcrlf & vbcrlf & vbcrlf
        Body = Body & Upload.Form("subHeadline1")
        Body = Body & vbcrlf & vbcrlf
        Body = Body & Upload.Form("afsnit1")
        Body = Body & vbcrlf & vbcrlf
        If Not IsNull (Upload.Form("subHeadline2")) Then
        Body = Body & Upload.Form("subHeadline2")
        Body = Body & vbcrlf & vbcrlf
        Body = Body & Upload.Form("afsnit2")
        Body = Body & vbcrlf & vbcrlf
        End If
        If Not IsNull (Upload.Form("subHeadline3")) Then
        Body = Body & Upload.Form("subHeadline3")
        Body = Body & vbcrlf & vbcrlf
        Body = Body & Upload.Form("afsnit3")
        Body = Body & vbcrlf & vbcrlf
        End If

        JMail.ServerAddress = "xx.xx.xx"
        JMail.Sender = "postmaster@xxx.dk"
        JMail.Subject = Upload.Form("subject")
        JMail.AddRecipient objRS("email")
        JMail.Body = Body
        JMail.Priority = 3
        JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
        JMail.Logging = True
        JMail.Execute
        objRS.MoveNext
Wend

%>

Der er 3 email adresser i min database
Af en eller anden besynderlig årsag går dette script ind i et loop, der sender mailen 3 gange til første mail adresse i tabellen, 2 gange til den næste og 1 gang til den sidste!!
Nogle der har et bud?
Avatar billede keysersoze Ekspert
26. april 2005 - 22:14 #1
AddRecipient tilføjer en modtager til en liste - og da listen ikke tømmes vil der ske det som du siger.

i første loop er der 1 i listen (bruger1) - i andet loop er der 2 i listen (bruger1 og bruger2) og i tredie loop er der 3 i din liste (bruger1, bruger2 og bruger3). Da du executer (altså sender) mailen 1 gang pr loop før alle brugere pånær den sidste flere mails.

enten skal du lave dit loop om eller også skal du indsætte følgende lige før AddRecipient

JMail.ClearRecipients()

for at tømme listen af modtagere.
Avatar billede nielle Nybegynder
26. april 2005 - 22:15 #2
Første gang din loop køre bruges JMail.AddRecipient objRS("email") til at sætte den første modtager på. Derefter sender du mailen.

Anden gang din loop køre bruges JMail.AddRecipient objRS("email") til at sætte den anden modtager på. Men den første modtager er stadig poå. Når du derfor sender mailen får den første modtager den en gang til.

Tredje gang din loop køre så sætter du den tredje modtager på. Men samtidig er modtager 1 og 2 stadig med på den, og derfor får den første sin3. mail mens den anden før sin 2. mail.
Avatar billede ullidk Nybegynder
26. april 2005 - 22:22 #3
keysersoze: Takker!! Smid et svar:)
Avatar billede keysersoze Ekspert
26. april 2005 - 22:31 #4
svar
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