这段时间看到有太多的人迷茫于邮件的群发。
所以把自己以前写的一个东东拿出来与大家分享。希望大家能够举一反三。
关键是如果构建一个自身调用的方法,还有在大数据量的情况下,使用数组来代替记录集。
自身的调用可以有很多的应用。除了邮件的群发,还有譬如自身的递归。很多人想实现取得不重复随机数就可以使用下面得思路。
当然,实现总不是一种,而是多样化得,你还可以有更好得方法。希望能够和大家切磋!
这个页面叫做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
%>
欢迎大家下载http://www.xzss.com/lqy/vml.rar
里面有一个简单的图表类
使用方法是讲test.asp中的那个属性设定为1到4就可以了。时间关系,还需要修改。
不尽完善,欢迎批评指正!