Klaus Egebjerg wrote in dk.edb.internet.webdesign.serverside.asp:
> Hej
>
> Jeg sidder og er ved at lave en mailliste. Den er opbygget på den måde, at
> når folk tilmelder sig, så bliver deres mailadresse kastet ind i en Access
> 2000 database. Hvilekt virker meget godt.
>
> Nu sidder jeg så at laver et script der skal sende en mail til alle på
> listen. Jeg kan kun få den til at sende til den første på listen, og kan
> ikke for den til at gå videre.
>
> Jeg tror mit problem er, at jeg ikke kan få placeret:
>
> While Not rs.EOF
> rs.MoveNext
> Wend
>
> men jeg har nu forsøgt at sætte dem forskellige steder men uden held. Nogle
> ganger tages den sidste mail adresse.
>
> Er der nogen der kan hjælpe ?
Jeg vil i hvert fald gøre et forsøg
> Min kode ser således ud:
>
> <%@ Language=VBScript %>
> <HTML>
> <%
<snip - her åbnes forbindelse til database>
>
> strQ = "SELECT Mail FROM Prove "
> Set rs = Conn.Execute (strQ)
>
> Select Case Trim(Request.Form("DO"))
> Case "Afsend"
> 'While Not rs.EOF
> set msg = Server.CreateOBject( "JMail.Message" )
> msg.ContentType = "text/html"
> msg.Logging = true
> msg.silent = true
> msg.From = "info@brygladen.dk"
> msg.FromName = "Brygladen"
> msg.AddRecipient rs("Mail")
> msg.Subject = "Nyhedsmail fra Brygladen.dk"
> msg.Body = "Jeg ville bare lige hej"
> 'rs.MoveNext
> 'Wend
> if not msg.Send("mail.brygladen.dk") then
> Response.write msg.log
> else
> 'rs.MoveNext
> 'Wend
>
> Response.Redirect ("takbestilling.htm")
> end if
>
> Case "Reset"
> Response.Redirect ("katalog.asp")
> End Select
>
> 'While Not rs.EOF
>
> 'Response.Write "</tr>" & vbCrLf
> 'rs.MoveNext
> 'Wend
>
> rs.close
> Conn.Close
> Set rs = Nothing
> set Conn = Nothing
>
> 'End select
>
<snip - her er noget html-kode>
> %>
>
Så vidt jeg kan se drejer det sig kun om den første CASE, hvor du har
"afsend".
Jeg kan ikke helt se om du vil sende én mail for hver modtager eller om eller
modtagerene skal i den samme mail.
Hvis du vil sende én mail i alt, så skal du være opmærksom på at alle
modtagere, kan se de andre email-adresser -> ikke godt. Så hvis du vil det,
så skal du sætte dem alle sammen som BCC-modtagere.
Hvis du vil sende én mail, så er det således:
Set msg = Server.CreateOBject( "JMail.Message" )
msg.ContentType = "text/html"
msg.Logging = true
msg.silent = true
msg.From = "info@brygladen.dk"
msg.FromName = "Brygladen"
msg.Subject = "Nyhedsmail fra Brygladen.dk"
msg.Body = "Jeg ville bare lige hej"
Set rs = [hent database-oplysninger]
While Not rs.EOF
msg.AddRecipient rs("Mail")
rs.MoveNext
WEnd
[send msg]
Hvis du vil sende én mail for hver, så er det sådan her:
Set rs = [hent database-oplysninger]
While Not rs.EOF
Set msg = Server.CreateOBject( "JMail.Message" )
msg.ContentType = "text/html"
msg.Logging = true
msg.silent = true
msg.From = "info@brygladen.dk"
msg.FromName = "Brygladen"
msg.Subject = "Nyhedsmail fra Brygladen.dk"
msg.Body = "Jeg ville bare lige hej"
msg.AddRecipient rs("Mail")
[send msg]
rs.MoveNext
WEnd
mvh Torben
NB Det ser ud til at du vil sende mailene, som HTML-mails. Men så skal du
være opmærksom på at det ikke er nok at sætte msg.ContentType, du skal også
gemme indholdet af mailen i msg.HtmlBody i stedet for msg.Body
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! =>
http://www.html.dk/tutorials