Avatar billede twg Nybegynder
13. juli 2001 - 08:38 Der er 10 kommentarer og
3 løsninger

ASPmail

Hejza

sendmail.asp:
<!-- #include file=\"../conn.asp\" -->
<%
sql=\"Select * from speakopret.speakkommentar where ident=\'\"&request.querystring(\"id\")&\"\'\"
set RS=Conn.Execute(sql)%>

<% mail=\"&RS(\"&\"email\"&\")&\"%>
<% id=\"&request.querystring(\"id\")&\"%>
<%
Set Mailer = Server.CreateObject(\"SMTPsvg.Mailer\")
Mailer.RemoteHost = \"mail.mit.dk\"
Mailer.FromName = \"mitsite\"
Mailer.FromAddress = \"navn@mit.dk\"
Mailer.AddRecipient \"navn\",\"navn@modtager.dk\"
Mailer.Subject = \"Bestilling\"
Mailer.BodyText = \"mail\"
Mailer.ContentType = \"text/html\"
Mailer.CharSet = 2

if not Mailer.SendMail then
  Response.Write \" Mailing Failed... Error is: <br>\"
  Response.Write Mailer.Response
else
  Response.Write \" sent successfully...<p>\"
end if

Set Mailer = nothing
%>

Hvordan får jeg dette script til at gøre sådan at den sender en mail til alle de email adresser der er i db\'en hvor ident = ident=\'\"&request.querystring(\"id\")&\"\'
Avatar billede Slettet bruger
13. juli 2001 - 09:20 #1
De skal adskilles med et komma.
Avatar billede twg Nybegynder
13. juli 2001 - 09:24 #2
ja men hvordan for man hentet dem alle ud og stil op såen at de bliver adskilt med et komma
Avatar billede Slettet bruger
13. juli 2001 - 09:32 #3
Du skal tage en post af gangen om tilføje et komma mellem hver post.
Avatar billede twg Nybegynder
13. juli 2001 - 09:34 #4
Hvordan henter man så en post af gange, jeg er helt blank, kan du ikke rettet scriptet så det passer, du kan godt få flere point hvis det er det du vil have.
Avatar billede Slettet bruger
13. juli 2001 - 09:50 #5
Du skal bruge en while sætning efter din Select statement.
Avatar billede twg Nybegynder
13. juli 2001 - 09:52 #6
siger mig igenting
Avatar billede Slettet bruger
13. juli 2001 - 09:59 #7
Du skal også bruge to variabler.

Den ene variabel kommer til at indeholde alle posterne adskilt med et \";\"
Den anden er i første omgang = \"\"
Altså en variabel kaldet f.eks.:Emailliste
Og en variabel kaldet Semi

while ( !RecordSet.EOF )
Semi er = \"\"

Emailliste = Semi + RecordSet ( 0 )

Semi = \";\"

RecordSet.MoveNext ( )

Til sidst er emailliste fyldt med alle posterne og så sender du bare til den liste.
Avatar billede baltic Nybegynder
13. juli 2001 - 12:17 #8
Prøv:
sendmail.asp:
<!-- #include file=\"../conn.asp\" -->
<%
sql=\"Select * from speakopret.speakkommentar where ident=\'\"&request.querystring(\"id\")&\"\'\"
set RS=Conn.Execute(sql)%>

<% mail=\"&RS(\"&\"email\"&\")&\"%>
<% id=\"&request.querystring(\"id\")&\"%>
<%
Set Mailer = Server.CreateObject(\"SMTPsvg.Mailer\")
Mailer.RemoteHost = \"mail.mit.dk\"
Mailer.FromName = \"mitsite\"
Mailer.FromAddress = \"navn@mit.dk\"

Mailer.Subject = \"Bestilling\"
Mailer.BodyText = \"mail\"
Mailer.ContentType = \"text/html\"
Mailer.CharSet = 2

do while not rs.eof

Mailer.AddRecipient rs(\"navn\"),rs(\"e-mail\")

if not Mailer.SendMail then
  Response.Write \" Mailing Failed... Error is: <br>\"
  Response.Write Mailer.Response
else
  Response.Write \" sent successfully...<p>\"
end if
mailer.ClearAllRecipients

rs.movenext
loop
Set Mailer = nothing
%>
Avatar billede twg Nybegynder
13. juli 2001 - 13:14 #9
<!-- #include file=\"../conn.asp\" -->
<%
sql=\"Select * from speakopret.speakkommentar where ident=\'\"&request.querystring(\"id\")&\"\'\"
set RS=Conn.Execute(sql)%>
<%do while not RS.EOF%>

<%if not send(\"email\")=Request.session(email) then%>
<%
Set Mailer = Server.CreateObject(\"SMTPsvg.Mailer\")
Mailer.RemoteHost = \"mail.scannet.dk\"
Mailer.FromName = \"codewizards.dk Speakers Corner\"
Mailer.FromAddress = \"noreply@codewizards.dk\"

Mailer.Subject = \"Bestilling\"
Mailer.BodyText = \"Der er en der har svare på Speakers Corner\"
Mailer.ContentType = \"text/html\"
Mailer.CharSet = 2

do while not rs.eof

Mailer.AddRecipient RS(\"navn\"),RS(\"email\")

if not Mailer.SendMail then
Response.Redirect(\"default.asp\")
else
Response.Redirect(\"default.asp\")
end if
mailer.ClearAllRecipients

rs.movenext
loop
Set Mailer = nothing
end if
%>
gir denne fejl:
Microsoft VBScript compilation error \'800a03fb\'

Expected \'Loop\'

/vardedk/speak/sendmail.asp, line 33

Avatar billede baltic Nybegynder
16. juli 2001 - 09:28 #10
Linie 5:
<%do while not RS.EOF%>

Hvad bruger du den til ? det er den der mangler et loop, så hvis den ikke bliver brugt, skal den bare fjernes.
Avatar billede twg Nybegynder
17. juli 2001 - 11:10 #11
okeee nu har jeg fået smækket følgende kode sammen:
<!-- #include file=\"conn.asp\" -->
<%mail=request.querystring(\"mail\")%>
<%
sql=\"SELECT * FROM speakopret, speakkommentar WHERE speakopret.ident=\'\"&request.querystring(\"id\")&\"\' and speakkommentar.ident=\'\"&request.querystring(\"id\")&\"\'\"
set RS=Conn.Execute(sql)%>
<%do while not RS.eof
Set Mailer = Server.CreateObject(\"SMTPsvg.Mailer\")
Mailer.RemoteHost = \"mail.scannet.dk\"
Mailer.FromName = \"none\"
Mailer.FromAddress = \"noreply@nisser.dk\"
Mailer.AddRecipient RS(\"navn\"),RS(\"email\")
Mailer.Subject = \"Bestilling\"
Mailer.BodyText = \"nope\"
Mailer.ContentType = \"text/html\"
Mailer.CharSet = 2
if not Mailer.SendMail then
  Response.Write \" Mailing Failed... Error is: <br>\"
  Response.Write Mailer.Response
else
  Response.Write \" sent successfully...<p>\"
end if

Set Mailer = nothing
RS.movenext
loop
%>

Hvordan gør man så sådan at hvis der er to email adresser i db\'en der er den samme, så bliver der kun sendt en mail

og hvordan gør sådan at der ikke bliver send ten mail til den adresse der er i variablen mail ?

--
Mic
Avatar billede baltic Nybegynder
17. juli 2001 - 13:57 #12
Hej
Det kunne være at skulle oprette det som nyt spørgsmål, da det er din sql forespørgelse der skal tilrettes, ikke asp-mailen.
--
Mvh
Avatar billede twg Nybegynder
18. juli 2001 - 08:34 #13
jamen så gør vi da det
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
Kurser inden for grundlæggende programmering

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