09. september 2004 - 15:18Der er
9 kommentarer og 1 løsning
Navn i "Til" feltet på aspmail-sendte mails
Når jeg sender vort nyhedsbrev ud, sættes modtagernes navne i BCC-feltet. Derved forbliver Til-feltet naturligvis tomt. Da jeg benyttede Outlook satte jeg min egne mailadresse i Til-feltet, hvorved jeg undgik at mailen blev kategoriseret som spam fordi dette felt var tomt. Men hvis jeg gøre det samme i aspmail modtager jeg i min indboks kopi af hver mail som er sendt ud - altså flere hundrede ens mails. Det synes jeg er træls... Nogen måde at kommer uden om dette på?
Du kan lave om sådan du sender en mail til hver og tilføje folk To feltet og efter hver mail kalde ClearRecipients og så sende til den næste:
<%
Set Mailer = Server.CreateObject("SMTPsvg.Mailer") Mailer.FromName = "Joe’s Widgets Corp." Mailer.FromAddress= "Joe@somehost.com" Mailer.RemoteHost = "mailhost.localisp.net" Mailer.Subject = "Great SMTP Product!" Mailer.BodyText = "Dear Stephen" & VbCrLf & "Your widgets order has been processed!"
do while not mailRS.EOF Mailer.AddRecipient mailRS("navn"), mailRS("email") if Mailer.SendMail then Response.Write "Mail sent..." else Response.Write "Mail send failure. Error was " & Mailer.Response end if ' Slet modtageren igen Mailer.ClearRecipients mailRS.Movenext loop Set mailer=nothing %>
Virker næsten. Jeg måtte justere lidt, da den ikke accepterer 'mailrs' og sådan. Men det var detaljer. Resultatet ser rigtigt ud i 'til', 'fra' og 'emne' felterne på de enkelte mails, MEN: selve body-teksten i mailen kommer rigtig til første modtager, anden modtager har beskeden dobbelt i mailen, tredje modtager har beskeden 3 gange i mailen etc.??? Nogen bud på, hvor jeg skal justere til? Min kode ser nu således ud:
<% Dim Mailer Set Mailer = Server.CreateObject("SMTPsvg.Mailer") Mailer.FromName = "Areopagos Electronic Newsletter" Mailer.FromAddress= "lmd@areopagos.dk" Mailer.RemoteHost = "mail.areopagos.dk"
' Send e-mail og skriv status if Mailer.SendMail then Response.Write "Mailen er afsendt..." else Response.Write "Der skete en fejl: " & Mailer.Response end if
Mailer.ClearRecipients rs.MoveNext Loop While Not rs.EOF
Det giver en anden fejl meddelelse: error '80020009' Exception occurred.
/newsletter/afsend.asp, line 31
Der sendes stadig korrekt til de tre mailadresser i prøvedatabasen. Jeg har lige kigget i databasen. Der er jo en "ekstra" tom post/linie, klar til en evt. ny adresse nederst i tabellen. Kan det være den, der driller? Den gav ingen fejlmeddelelser før jeg begyndet det med at sende til en ad gangen?
Nu er den der vist - jeg var kommet til at slette 'While Not rs.EOF' efter Loop til allersidst. Nu virker det tilsyneladende uden fejlmeddelelser. Til gavn for andre, som kigger med lægger jeg lige hele den færdige kode ud:
<% Dim Mailer Set Mailer = Server.CreateObject("SMTPsvg.Mailer") Mailer.FromName = "Areopagos Electronic Newsletter" Mailer.FromAddress= "lmd@areopagos.dk" Mailer.RemoteHost = "mail.areopagos.dk"
' Send e-mail og skriv status if Mailer.SendMail then Response.Write "Mailen er afsendt..." else Response.Write "Der skete en fejl: " & Mailer.Response end if
' Slet modtageren igen Mailer.ClearRecipients rs.MoveNext Loop While Not rs.EOF
' Fjern objekt igen Set Mailer = Nothing %>
Tak for hjælpen. Det var super!
Mvh Lars
Synes godt om
Ny brugerNybegynder
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.