Jmail script - kan man springe email adresser over
jeg har lavet et script der sender til en lang række modtagere af et nyhedsbrev - problemet er at flere af brugerne er oprettet mere end 1 gang. Under forudsætning at jeg sorterer og sender mails i alfabetisk rækkefølge - er der så nogen måde jeg kan springe brugere over så de ikke modtager 2 mails ?script:
<%@LANGUAGE="VBSCRIPT"%>
<%Server.Scripttimeout=3600%>
<!--#include file="../../Connections/scandlines.asp" -->
<%
'finde ud at hvor den nåede til:
dim LastID
LastID = Request.Querystring("LastID")
if LastID = "" then LastID = 0
dim Taeller
Taeller = Request.Querystring("Taeller")
if Taeller = "" then Taeller = 0
Dim rsNyhedsbrev
Dim rsNyhedsbrev_numRows
Set rsNyhedsbrev = Server.CreateObject("ADODB.Recordset")
rsNyhedsbrev.ActiveConnection = MM_scandlines_STRING
rsNyhedsbrev.Source = "SELECT * FROM BorderShopNyhedsbrev ORDER BY IDnyhedsbreve DESC"
rsNyhedsbrev.CursorType = 0
rsNyhedsbrev.CursorLocation = 2
rsNyhedsbrev.LockType = 1
rsNyhedsbrev.Open()
rsNyhedsbrev_numRows = 0
Overskrift = (rsNyhedsbrev.Fields.Item("Overskrift").Value)
Tekst = (rsNyhedsbrev.Fields.Item("Tekst").Value)
Dim rsEmails
Dim rsEmails_numRows
Set rsEmails = Server.CreateObject("ADODB.Recordset")
rsEmails.ActiveConnection = MM_scandlines_STRING
rsEmails.Source = "SELECT * FROM BorderShop WHERE IDbordershop > " & LastID & " ORDER BY IDbordershop ASC LIMIT 0, 50"
rsEmails.CursorType = 0
rsEmails.CursorLocation = 2
rsEmails.LockType = 1
rsEmails.Open()
rsEmails_numRows = 0
Dim rsAntalModtagere
Dim rsAntalModtagere_numRows
Set rsAntalModtagere = Server.CreateObject("ADODB.Recordset")
rsAntalModtagere.ActiveConnection = MM_scandlines_STRING
rsAntalModtagere.Source = "SELECT Count(*) AS AntalMails FROM BorderShop"
rsAntalModtagere.CursorType = 0
rsAntalModtagere.CursorLocation = 2
rsAntalModtagere.LockType = 1
rsAntalModtagere.Open()
rsAntalModtagere_numRows = 0
' Denne tæller har en total på det antal modtagere der er i databasen
AntalMailAdresser = (rsAntalModtagere.Fields.Item("AntalMails").Value)
'Så bliver loopet sådan
if (rsEmails.BOF or rsEmails.EOF) then
' Response.Write ("Slut")
scriptdone = "ja"
else
Response.write "<font class=""12BlackBold"">Emails<br><br></font>"
on error resume next
Do While Not rsEmails.EOF
strEmail = (rsEmails.Fields.Item("Email").Value)
strNavn = (rsEmails.Fields.Item("Fornavn").Value)
Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ServerAddress = "websmtp.border-wines.dk;websmtp.border-wines.dk;mailrelay.andersenit.dk"
JMail.Sender = "admin@border-wines.dk"
JMail.SenderName = "Border Shop"
JMail.ContentType = "text/html"
JMail.Subject = Overskrift
JMail.AddRecipientBCC strEmail
JMail.Priority = 3
JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
Jmail.Body = replace(Tekst, "ModtagerensNavn", strNavn)
JMail.Execute
Set JMail = Nothing
Response.write "<font class=""10BlackNormal"">E-mail sendt til " & strEmail & " " & strNavn & "<br></font>"
LastID = rsEmails("IDbordershop")
Taeller = Taeller + 1
rsEmails.Movenext
Loop
scriptdone = "nej"
End if
if Taeller = "" or Taeller = "0" then beregnprocent = "1" else beregnprocent = Taeller end if
loadet = FormatNumber(cint(beregnprocent) * 100 / cint(AntalMailAdresser) ,0)
%>
<html>
<head>
<title>Afsendelse af Border Shop nyhedsbrev</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../include/stylesheet.css" rel="stylesheet" type="text/css">
</head>
<body style="margin: 0px; padding: 0px;"><center>
<table border="0" cellspacing="0" cellpadding="0">
<tr class="10BlackNormal">
<td height="20" colspan="2"> </td>
</tr>
<tr class="10BlackNormal">
<td colspan="2" class="12BlackBold">Afsendelse af nyhedsbrev </td>
</tr>
<tr class="10BlackNormal">
<td width="200" height="20"> </td>
<td> </td>
</tr>
<tr class="10BlackNormal">
<td height="20">Nyhedsbrev:</td>
<td><%=(rsNyhedsbrev.Fields.Item("Overskrift").Value)%></td>
</tr>
<tr class="10BlackNormal">
<td height="20">Antal modtagere: </td>
<td>nyhedsbrev tabel: <%=(rsNyhedsbrev.Fields.Item("Modtagere").Value)%><br>
beregning fra SQL udtræk <%=AntalMailAdresser%></td>
</tr>
<tr class="10BlackNormal">
<td height="20"> </td>
<td> </td>
</tr>
<tr class="10BlackNormal">
<td height="20">Antal procent sendt:</td>
<td><%=loadet%>%</td>
</tr>
<tr class="10BlackNormal">
<td height="20">Loading bar: </td>
<td><img src="../../images/admin/precent.gif" width="<%=loadet%>" height="10" border="0"></td>
</tr>
<tr class="10BlackNormal">
<td height="20">Hvor langt scriptet er kommet: </td>
<td><%=Taeller%></td>
</tr>
<tr class="10BlackNormal">
<td height="20"> </td>
<td> </td>
</tr>
<tr class="10BlackNormal">
<td height="20"> </td>
<td>Når nyhedsbrevet er sendt til alle modtagerne kan
du <br>
klikke på knappen herunder for at komme til oversigten.</td>
</tr>
<tr class="10BlackNormal">
<td height="20"> </td>
<td><form name="form1" method="post" action="oversigt_nyhedsbrev.asp">
<input name="Submit" type="submit" class="buttons" value="Gå til oversigt" style="cursor:pointer">
</form></td>
</tr>
</table>
</center>
</body>
</html>
<%if scriptdone <> "ja" then%>
<script language="javascript">
window.location = "script_nyhedsbrev.asp?LastID=<%=LastID%>&Taeller=<%=Taeller%>";
</script>
<%end if%>
<%
rsEmails.close
Set rsEmails = Nothing
rsNyhedsbrev.Close()
Set rsNyhedsbrev = Nothing
rsAntalModtagere.Close()
Set rsAntalModtagere = Nothing
%>
