avanceret sql - softspot har hjulpet indtil nu
i forbindelse med http://www.eksperten.dk/spm/823727har jeg fået testet lidt mere.
Den sender stadig til for mange.
En lille test hvor den skulle sende til 1, nemlig opretter af blog indlæg sender den både til opretter og blogindlæg og ham der lige har skrevet kommentaren. Den skal skrive til alle undtagen ham der selv har skrevet indlægget.
<!--#include file="db.inc"-->
<%
aktiv="nej"
ID = Request.QueryString("id")
strsql = "SELECT blu.*, bl.overskrift " & _
"FROM ( " & _
"SELECT u1.email, u1.brugernavn, b.id AS blogid " & _
"FROM blog b " & _
"INNER JOIN bruger u1 ON u1.brugernavn = b.forfatter " & _
"WHERE b.id = " & ID & " " & _
"AND u1.send_email = true " & _
"UNION " & _
"SELECT u2.email, u2.brugernavn, k.blogid AS blogid " & _
"FROM kommentar k " & _
"INNER JOIN bruger u2 ON u2.brugernavn = k.forfatter " & _
"WHERE k.blogid = " & ID & " " & _
"AND u2.send_email = true " & _
") blu " & _
"INNER JOIN blog bl ON bl.id = blu.blogid "
'response.write strsql
set rs = Conn.Execute(strSQL)
num = 0
while not rs.eof
if rs("email") <> "" then
Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ServerAddress = "localhost"
JMail.ContentType = "text/html"
JMail.Charset = "iso-8859-1"
JMail.ContentTransferEncoding = "8bit"
JMail.Sender = "robot@familiencaroe.dk"
JMail.Subject = "Der er en ny kommentar til en nyhed du deltager i på familiencaroe.dk"
JMail.AddRecipient rs("email")
JMail.HTMLBody = "Hej"
JMail.HTMLBody = "Hej "& rs("brugernavn") & "<br><br>Der er en ny kommentar til nyheden <b><i>" & rs("overskrift") &"</b></i> som du deltager i.<br>Log på <a
href=""http://v0011cvc/default.asp?sitepage=blogview_indlag&id="&id&""">http://www.familiencaroe.dk</a> og se kommentaren.<br><br>Mvh Kristian"
JMail.Silent = True
JMail.Logging = True
JMail.Priority = 3
If aktiv="ja" then
JMail.Execute
End if
response.write jmail.log
sWrite="<pre>" & JMail.Log & "</pre>"
sWrite=sWrite&rs("email")
sWrite=sWrite&"<br>"
sWrite=sWrite&JMail.ServerAddress
sWrite=sWrite&"<br>"
sWrite=sWrite&jmail.htmlbody
sWrite=sWrite&"<br>"
Response.Write sWrite
Conn.Execute("INSERT INTO [log] ([log],logtype) VALUES ('"&Replace(sWrite,"'","''")&"','kommentar_send_email')")
set JMail = nothing
else
End If
num = num + 1 ' tilføjer 1 til varariablen for hvert gennemløb
rs.MoveNext
Wend
Response.write "<span class='text' align='center'>Nyhedsmailen blev sendt til <b>" & num & " </b> brugere<br>"
'Reset server objects
Conn.Close
Set Conn = Nothing
Set rs = Nothing
'Response.Redirect "default.asp?sitepage=blogview_indlag&id=" & id
%>
Giver :
krc@xxx.dk
localhost
Hej Test
Der er en ny kommentar til nyheden Ny test som du deltager i.
Log på http://www.familiencaroe.dk og se kommentaren.
Mvh Kristian
kri@privat.dk
localhost
Hej Kristian
Der er en ny kommentar til nyheden Ny test som du deltager i.
Log på http://www.familiencaroe.dk og se kommentaren.
Mvh Kristian
Nyhedsmailen blev sendt til 2 brugere
Men den skulle kun skrive til den første, for nr2 er ham der lige har oprettet kommentaren.