loopa igenom databasen och skicka ett brev för varje post.
Sen måste du ha någfon slags e-postkomponent.
Frågan har annars varit uppe tidigare.
Sök.
8 svar · 288 visningar · startad av Emilo
Hejsan hur gör man ett HTML nyhetsbrev som skall skickas ut till alla adresser som ligger i en databas?
loopa igenom databasen och skicka ett brev för varje post.
Sen måste du ha någfon slags e-postkomponent.
Frågan har annars varit uppe tidigare.
Sök.
Så här skulle du kunna göra.....
do while not rs.eof
Set Mymail=server.Createobject("CDONTS.NewMail")
Mymail.bodyformat = 1
Mymail.importance = 2
Mymail.from = "dinmail@hotmail.com"
Mymail.to =(rs("email"))
Mymail.subject = (request.form("subject"))
Mymail.body = (request.form("mail"))
Mymail.send
set Mymail = nothing
rs.movenext
loop
he he... ja nu kommer en jätte korkad lösning... jag använder den själv för jag fick inte det med loopen att funka... men nu så! problem: jobbigt att rabbla upp textfält, allas adresser syns i hos mottagaren...
formulär sidan:
<form name="brev" method="post" action="skicka_brev.asp">
<%
Set Databas = Server.CreateObject("ADODB.Connection")
Set rsMejl = Server.CreateObject("ADODB.Recordset")
MdbFilePath="d:/wwwroot/crisse6/db/brevet.mdb"
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
SQL = "SELECT * From mejladresser"
rsMejl.Open SQL, Databas
If rsMejl.EOF then
Response.Write "<b>" & "Inga e-mail adresser finns." & "</b>"
else
Do Until rsMejl.EOF
Response.Write"<input type=""text"" name=""adress"" value='" &rsMejl("mejl") & "'>"
rsMejl.MoveNext
Loop
%>
<p><textarea name="meddelande" rows="6" cols="45" style="font-family:Verdana; font-size:10;"></textarea></p>
<p><input type="submit" name="skicka" value="Skicka månadsbrev" style="font-family:Verdana; font-size:10;"></p>
</form>
<% End If %>
sedan... skicka_brev.asp
<%
'On Error Resume Next
Dim oMail, strFrom, strTo, strSubject, strMess
strFrom = "grodanmejl@hotmail.com"
strTo = Request.Form("adress")
strSubject = "Nytt månadsbrev"
strMess = Request.Form("meddelande")
Set oMail = Server.CreateObject("CDONTS.NewMail")
oMail.Send strFrom, strTo , strSubject, strMess
%>
<%
Response.Write "Alla i databasen har fått månadsbrevet."
%>
sorry, detta är nog hemskt i eran ögon, men va fan... när man inte fick det andra att funka så...
jag vill bara tipsa om att CDONTS har en metod som heter Bcc som ju betyder blindkopia. använd den metoden, så ser inte mottagarna alla andra mottagares adresser.
Om jag skriver mailet i ett formulär och vill lägga in en bild eller en tabell, skriver man bara det med HTML då eller om jag skriver t ex:
<IMG SRC="bild.gif">
Kommer det då att komma en bild eller kommer det att stå så här i mailet?
Jag antar att du måste lägga upp blden först på servern och sedan enge hela sökvägen till denna bild.
@nders >> Hur använder jag funktionen BCC eller vad den hette? kan du visa i min kod?
ersätt den koden du angett ovan från din skicka_brev.asp med följande, så borde det fungera:
<%
Dim oMail
Set oMail = Server.CreateObject("CDONTS.NewMail")
oMail.From = "grodanmejl@hotmail.com"
oMail.Subject = "Nytt månadsbrev"
oMail.Body = Request.Form("meddelande")
oMail.To = "grodanmejl@hotmail.com"
oMail.Bcc = Request.Form("adress")
oMail.Send
Set oMail = Nothing
Response.Write "Alla i databasen har fått månadsbrevet."
%>
mvh,