使用ASP+JMAIL进行邮件群发
类别: ASP教程
这段时间看到有太多的人迷茫于邮件的群发。
所以把自己以前写的一个东东拿出来与大家分享。希望大家能够举一反三。
关键是如果构建一个自身调用的方法,还有在大数据量的情况下,使用数组来代替记录集。
自身的调用可以有很多的应用。除了邮件的群发,还有譬如自身的递归。很多人想实现取得不重复随机数就可以使用下面得思路。
当然,实现总不是一种,而是多样化得,你还可以有更好得方法。希望能够和大家切磋!
这个页面叫做email_sendall.asp
<%on error resume next%>
<!--这里是你们的包含文件-->
<%
if request("Page")="" then
CPage=1
else
Cpage=request("Page")
end if
\'接受邮件内容,当然,也可以从数据库种查询
comment=request("comment")
\'定义邮件数组
Dim emailArray
sql_email="SELECT useremail,userregname,userpassword FROM email"
Set Recordsetemail=Server.CreateObject("ADODB.Recordset")
Recordsetemail.ActiveConnection=cnn
Recordsetemail.Source=sql_email
Recordsetemail.CursorType=3
Recordsetemail.CursorLocation=2
Recordsetemail.LockType=1
Recordsetemail.Pagesize=5
Recordsetemail.Open()
Recordsetemail.AbsolutePage=CPage
Page_Count=Recordsetemail.PageCount
\'把数据库中的读取到数组中。
emailArray=Recordsetemail.Getrows(5,0)
Recordsetemail.close
if err.number<>0 then
JMail.Close
response.write "邮件群发成功!"
response.end
else
end if
set Recordsetemail=nothing
if isarray(emailArray) then
Repeat1__index=0
dim U_emailArray
U_emailArray=ubound(emailArray,2)
While(Repeat1__index<=U_emailArray)
comment1=replace(comment,"</user>",emailarray(1,Repeat1__index))
comment1=replace(comment1,"</password>",emailarray(2,Repeat1__index))
Set JMail=Server.CreateObject("JMail.SMTPMail")
JMail.ContentType="text/html"
JMail.Encoding = "base64"
JMail.Charset="gb2312"
jmail.Sender=request("fromwho")
JMail.Subject = request("subject")
JMail.AddRecipient(emailarray(0,Repeat1__index))
JMail.Body =comment1
JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
JMail.Execute
JMail.Close
response.Write(request("ToWho"))
response.Write(" 成功发送!<BR>")
Set JMail = Nothing
Repeat1__index=Repeat1__index+1
wend
else
end if
Recordset1.Close()
Set Recordset1 = Nothing
\'构建一个自身请求自身的方法
response.redirect "email_sendall.asp?page="&(cpage+1)&"subject="&request("subject")&"fromwho="&request("fromwho")&"comment="&comment
%>
所以把自己以前写的一个东东拿出来与大家分享。希望大家能够举一反三。
关键是如果构建一个自身调用的方法,还有在大数据量的情况下,使用数组来代替记录集。
自身的调用可以有很多的应用。除了邮件的群发,还有譬如自身的递归。很多人想实现取得不重复随机数就可以使用下面得思路。
当然,实现总不是一种,而是多样化得,你还可以有更好得方法。希望能够和大家切磋!
这个页面叫做email_sendall.asp
<%on error resume next%>
<!--这里是你们的包含文件-->
<%
if request("Page")="" then
CPage=1
else
Cpage=request("Page")
end if
\'接受邮件内容,当然,也可以从数据库种查询
comment=request("comment")
\'定义邮件数组
Dim emailArray
sql_email="SELECT useremail,userregname,userpassword FROM email"
Set Recordsetemail=Server.CreateObject("ADODB.Recordset")
Recordsetemail.ActiveConnection=cnn
Recordsetemail.Source=sql_email
Recordsetemail.CursorType=3
Recordsetemail.CursorLocation=2
Recordsetemail.LockType=1
Recordsetemail.Pagesize=5
Recordsetemail.Open()
Recordsetemail.AbsolutePage=CPage
Page_Count=Recordsetemail.PageCount
\'把数据库中的读取到数组中。
emailArray=Recordsetemail.Getrows(5,0)
Recordsetemail.close
if err.number<>0 then
JMail.Close
response.write "邮件群发成功!"
response.end
else
end if
set Recordsetemail=nothing
if isarray(emailArray) then
Repeat1__index=0
dim U_emailArray
U_emailArray=ubound(emailArray,2)
While(Repeat1__index<=U_emailArray)
comment1=replace(comment,"</user>",emailarray(1,Repeat1__index))
comment1=replace(comment1,"</password>",emailarray(2,Repeat1__index))
Set JMail=Server.CreateObject("JMail.SMTPMail")
JMail.ContentType="text/html"
JMail.Encoding = "base64"
JMail.Charset="gb2312"
jmail.Sender=request("fromwho")
JMail.Subject = request("subject")
JMail.AddRecipient(emailarray(0,Repeat1__index))
JMail.Body =comment1
JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
JMail.Execute
JMail.Close
response.Write(request("ToWho"))
response.Write(" 成功发送!<BR>")
Set JMail = Nothing
Repeat1__index=Repeat1__index+1
wend
else
end if
Recordset1.Close()
Set Recordset1 = Nothing
\'构建一个自身请求自身的方法
response.redirect "email_sendall.asp?page="&(cpage+1)&"subject="&request("subject")&"fromwho="&request("fromwho")&"comment="&comment
%>
- 上一篇: 在ASP中使用SQL语句之1:SELECT 语句
- 下一篇: 用链接组件轻松做交互式链接
-= 资 源 教 程 =-
文 章 搜 索