Avatar billede degnens Mester
09. september 2004 - 15:18 Der 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å?

Mvh
Lars
Avatar billede eagleeye Praktikant
09. september 2004 - 16:34 #1
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
%>
Avatar billede degnens Mester
09. september 2004 - 17:24 #2
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"

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & server.mappath("newsletter.mdb")
Conn.Open DSN


strSQL = "Select * from grunddata"
Set rs = Conn.Execute(strSQL)

Do
  ' Tilføj modtager
Mailer.AddRecipient rs("name"), rs("email")
' Slet modtageren igen

Mailer.ContentType = "text/html"
Mailer.Subject = Request.Form ("Subject")
Mailer.BodyText = Request.Form ("MsgBody")



' 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

' Fjern objekt igen
Set Mailer = Nothing
%>
Avatar billede eagleeye Praktikant
09. september 2004 - 17:27 #3
Ja du skal havde flytte disse 3 linjer ud før Do:


Mailer.ContentType = "text/html"
Mailer.Subject = Request.Form ("Subject")
Mailer.BodyText = Request.Form ("MsgBody")
Avatar billede degnens Mester
09. september 2004 - 22:23 #4
Hmmm - det er noget bedre, men et eller andet er stadig galt. Når jeg har sendt får jeg fejlmeddelelsen:

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'AddRecipient'

/newsletter/afsend.asp, line 31

Men tilsyneladende er alle tre forsøgsmails kommet rigtigt frem, og indeholder kun beskeden en enkelt gang hver.

Hvad betyder fejlmeddelelsen, jeg er ikke helt tryg ved den.
Avatar billede degnens Mester
09. september 2004 - 22:26 #5
Linie 31 er forøvrigt:
Mailer.AddRecipient rs("name"), rs("email")
Avatar billede eagleeye Praktikant
09. september 2004 - 22:26 #6
Det kunne være en email adresse som er tom?
Avatar billede eagleeye Praktikant
09. september 2004 - 22:27 #7
Eller nanvet er tomt?

Prøv at skrive den som:

Mailer.AddRecipient "" & rs("name"), "" & rs("email")
Avatar billede degnens Mester
09. september 2004 - 22:59 #8
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?
Avatar billede eagleeye Praktikant
09. september 2004 - 23:04 #9
Den skulle ikke tage den sidste post med.

Kan du se i hvilken adresse den fejler?

Du kan prøve at tilføje linjen:
On error resume next

Så går den vidre hvis der er fejl så skulle den gerne skrive en fejl besked når den forsøger at sende mailen.
Avatar billede degnens Mester
09. september 2004 - 23:16 #10
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"

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & server.mappath("newsletter.mdb")
Conn.Open DSN


strSQL = "Select * from grunddata"
Set rs = Conn.Execute(strSQL)

Mailer.ContentType = "text/html"
Mailer.Subject = Request.Form ("Subject")
Mailer.BodyText = Request.Form ("MsgBody")

Do
  ' Tilføj modtager
Mailer.AddRecipient "" & rs("name"), "" & rs("email")

' 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
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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