1
以下代码可用于从数据库中提取名字和电子邮件,并通过CDOSys和电子邮件发送到找到的记录。将查找限制为有限的记录数循环
我的托管服务将收件人数量限制为10个,所以我认为将查找限制为前10条记录然后发送然后查找下10条记录并发送等等直到表达到最后?
<%
Set OBJdbConnection = CreateObject("ADODB.Connection")
OBJdbConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("myData.mdb")
SQLQuery = "SELECT FirstName, Email_Address FROM MyTable"
Set Result = OBJdbConnection.Execute(SQLQuery)
if Not Result.EOF then
Do While Not Result.EOF
SendMail Result("FirstName"), Result("Email_Address")
Result.MoveNext
Loop
end if
OBJdbConnection.Close()
Set OBJdbConnection = Nothing
Sub SendMail(TheName, TheAddress)
Dim objMessage, Rcpt
If (TheName <> "" AND TheAddress <> "") Then
smtpServer = "mail.mydomain.com"
body = "Hello World"
Rcpt = Chr(34) & TheName & Chr(34) & "<" & TheAddress & ">"
set objMessage = Server.CreateObject("CDO.Message")
set cdoConfig = Server.CreateObject("CDO.Configuration")
cdoConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
cdoConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = smtpServer
cdoConfig.Fields ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
cdoConfig.Fields ("http://schemas.microsoft.com/cdo/configuration/sendusername") ="[email protected]"
cdoConfig.Fields ("http://schemas.microsoft.com/cdo/configuration/sendpassword") ="123456"
cdoConfig.Fields.Update
set objMessage.Configuration = cdoConfig
objMessage.Subject = "This Month's Sales"
objMessage.From = """Acme Sales"" <[email protected]>"
objMessage.To = Rcpt
objMessage.HTMLBody = body
objMessage.Send
End If
End Sub
set objMessage = Nothing
set cdoConfig = Nothing
%>
你必须让自己更清楚。我阅读它的方式是,你一次只发送一封电子邮件吗? –
你是对的,我很抱歉。 ISP必须具有某种洪水限制,约10封电子邮件后发生错误。 –