Avatar billede para7 Nybegynder
01. december 2005 - 12:21 Der er 5 kommentarer og
1 løsning

jMail sender med dublikeret indhold

Jeg har lavet en del sendefunktioner med held. Men nu kan jeg ikke forstå hvorfor der kommer flere gange indhold i mailene, der modtages.
Jeg har lavet en test hvor jeg sender til tre medlemmer, som jeg selv modtager post for. Jeg modtager tre mails OK. Men kun den første mail er OK. Den næste har indhold for to medlemmer og den sidste for tre. Dvs. den sidste mail ser sådan ud:


------------------------------------------

Subject: Nyt emne er oprettet: 0test

Her er info@staldnoni.dk medlemmet.

Her er gurlik@staldnoni.dk medlemmet.

Her er knudc@staldnoni.dk medlemmet.

-----------------------------------------------

Nogen der har nogle kloge ord?


if Kodeord = True and request.form("Overskrift") <> "" then
'Så skal der sendes en notits til alle medlememer:
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "Driver={SQL Server}; Server=xxx.xxx.xxx.x; Database=xxx; uid=xxx; pwd=xxxxxx;"
    Set rs = Server.createobject("ADODB.Recordset")    'Recordset oprettes
    strSQL = "SELECT * FROM Community_Users WHERE User_AIM LIKE '%Medlem%' "
    rs.open strSQL, conn
        do until rs.EOF
        If instr(rs("User_Email"),"staldnoni.dk") Then
            Server.ScriptTimeout = 6000
            Set JMail = Server.CreateObject("JMail.SMTPMail")
            JMail.Silent = true
            JMail.Logging = true
            jMail.sendername = SideTitel
            JMail.ServerAddress = "209.132.213.21" 
            JMail.Sender = HomeEmail 
            overskriftTekst = "Nyt emne er oprettet: " & request.form("Overskrift")
            JMail.Subject = overskriftTekst
            JMail.AddRecipient rs("User_Email") 
            body = body & "Her er " & rs("User_Email") & " medlemmet.<br><br>"
            jMail.ContentType  = "text/html"
            JMail.Priority = 3
            JMail.Body = body
            JMail.Execute
            Set JMail = Nothing
        End If
        rs.movenext
        loop
    rs.Close
end if
Avatar billede eagleeye Praktikant
01. december 2005 - 12:27 #1
Problemet er her, den gemmer body'en fra mail til mail fordi variablen body står efter = tegnet.

body = body & "Her er " & rs("User_Email") & " medlemmet.<br><br>"


Så du skal sætte body = "" når mailen er sendt så tilføje denne linie efter Set Jmail = Nothing:

  body = ""
Avatar billede polle007 Nybegynder
01. december 2005 - 12:27 #2
du kan fjerne alle modtagere, inden du tilføjer den nye

JMail.ClearRecipients
JMail.AddRecipient rs("User_Email")
Avatar billede polle007 Nybegynder
01. december 2005 - 12:28 #3
og glem min kommentar, da du opretter et nyt objekt for hvert gennemløb
Avatar billede eagleeye Praktikant
01. december 2005 - 12:40 #4
Du kan også rette denne linie:

body = body & "Her er " & rs("User_Email") & " medlemmet.<br><br>"

Til dette, som er lidt pænere:

body = "Her er " & rs("User_Email") & " medlemmet.<br><br>"


og skal du havde flere linier som tilføjer tekst til body variablen skal det være  i stil med dette:

body = "Her er " & rs("User_Email") & " medlemmet.<br><br>"
body = body & "Noget mere tekst til body'en.<br>"
body = body & "Lige lidt mere tekst til body'en.<br>"
Avatar billede para7 Nybegynder
01. december 2005 - 13:35 #5
Tak eagleeye
Godt set :)
Avatar billede para7 Nybegynder
01. december 2005 - 13:36 #6
End of story..
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