Udsend Nyhedsbrev med ASPMail
Jeg er ved at lave et modul til at udsende nyhedsbreve, og i den forbindelse anvender jeg AspMail.Jeg har lavet følgende kode, der bliver gennemløbet så længe der er mailadresser i databasen.
Do while not send.eof
Name = send("Name")
TopTxt = Replace(TopTxt,"[Username]",Name)
IDpas= send("IDpas")
Emailad= Send("Emailad")
'Makes the bodystring for plain TEXT mails
BodyTexttoTXT = TopTxt & vbCrLf & vbCrLf & bodytextTXT & vbCrLf & vbCrLf & "-----------------" & vbCrLf
BodyTexttoTXT = BodyTexttoTXT + BottTxt & vbCrlf & Map & "confirm.asp?unsign=" & IDpas & vbCrlf & vbCrlf
BodyTexttoTXT = BodyTexttoTXT + com
'Makes the bodystring for plain HTML mails
BodyTexttoHTML = TopTxt & "<br><br>" & bodytextHTML & "<br><br>" & "-----------------" & "<br>"
BodyTexttoHTML = BodyTexttoHTML + BottTxt & "<br><a href="""& Map &"confirm.asp?unsign="& IDpas &""">" & Map & "confirm.asp?unsign=" & IDpas & "</a><br><br>"
BodyTexttoHTML = BodyTexttoHTML + com
'Variabels for HTML and PLAIN TEXT mail
BOUNDARY = "----xxxxxx"
TEXT_HEADER = "--" & BOUNDARY & VBCrLf & "Content-Type: text/plain;" & VBCrLf & _
"Content-Transfer-Encoding: 7bit" & VBCrLf & VBCrLf
HTML_HEADER = "--" & BOUNDARY & VBCrLf & "Content-Type: text/html;" & VBCrLf & _
"Content-Transfer-Encoding: 7bit" & VBCrLf & VBCrLf
MP_FOOTER = "--" & BOUNDARY & "--" & VBCrLf
'Make the hole mailstring with plaintext and html
BodyTextto = TEXT_HEADER & BodyTexttoTXT & VBCrLf & HTML_HEADER & BodyTexttoHTML & VBCrLf & MP_FOOTER
'most control methods throw an exception if an error occurs so we will use an On Error statement
On Error Resume Next
Set svgMailer = Server.CreateObject("SMTPsvg.Mailer")
' This is my local SMTP server
svgMailer.Remotehost = smtpserver
' mail config settings
svgMailer.Charset = CharsetStr
svgMailer.FromName = Sendername
svgMailer.FromAddress = Sender
if UsernameEmail<>"no" Then
svgMailer.Username = UsernameEmail
End if
if PasswordEmail<>"no" Then
svgMailer.Password = PasswordEmail
End if
svgMailer.ContentType = "multipart/alternative; boundary=""" & BOUNDARY & """"
svgMailer.AddRecipient Name,Emailad
svgMailer.Subject = Subject
svgMailer.BodyText = BodyTextto
svgMailer.Priority = Priority
if svgMailer.SendMail then
ErrorResult=""
else
ErrorResult = svgMailer.Response
end if
set svgMailer = nothing
if ErrorResult<>"" AND countm=0 then
Response.write "<p align=""center"">Fejl. Mailen er ikke sendt: " & ErrorResult & "</p>"
countm=1
End if
if 0 <> Err then
Err = 0
End if
send.movenext
loop
JEg har tre problemer:
1) Skriptet timer ofte ud efter et stykke tid, og som regel kommer der kun en mail igennem.
2) Den mail der kommer igennem, ser ikke ud til at være i rigitg HTML
3) Jeg er begyndt at få følgende fejl: [11004] Valid name, no data record of requested type
Vil scriptet kunne håndtere flere tusinde mails, eller er der en bedre måde at gøre det på, så brugeren ikke er tvunget til at vente på at scriptet kører færdigt?? Jeg har hørg om noget mailmerg eller sådan noget. Er det noget alle kan anvende?
