使用ASP+jmail进行邮件群发

博主分享以前写的内容,介绍了构建自身调用方法,在大数据量下用数组代替记录集。以邮件群发为例,展示了从数据库读取数据到数组,实现邮件群发的代码,还构建了自身请求自身的方法,最后提供了简单图表类的下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这段时间看到有太多的人迷茫于邮件的群发。

所以把自己以前写的一个东东拿出来与大家分享。希望大家能够举一反三。

关键是如果构建一个自身调用的方法,还有在大数据量的情况下,使用数组来代替记录集。

自身的调用可以有很多的应用。除了邮件的群发,还有譬如自身的递归。很多人想实现取得不重复随机数就可以使用下面得思路。

当然,实现总不是一种,而是多样化得,你还可以有更好得方法。希望能够和大家切磋!

这个页面叫做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就可以了。时间关系,还需要修改。

不尽完善,欢迎批评指正!

jmail  jmail是一种服务器端的邮件发送组件,和个人用的客户端邮件软件不一样的。jmail是在服务器上给程序用来发邮件用的,除了软件编程人员,其他人一般平常用不上。   jmail是一个第三方邮件操作组件,通常位于web服务器端,和站点程序紧密配合来接收及提交邮件邮件服务器的控件,让网站拥有发送邮件既接收邮件的功能   与此相同的还有CDONTS.NewMail,Persits.MailSender,IISmail.Iismail等等,他们唯一区别就是jmail只需要注册一个dll组件即可被调用,而其他则需要在iis上设置发布smtp服务器   (1)Body(信件正文) : 字符串   如:JMail.Body = "这里可以是用户填写的表单内容,可以取自Form。"   (2)Charset(字符集,缺省为"US-ASCII") : 字符串   如:JMail.Charset = "US-ASCII"   (3)ContentTransferEncoding : 字符串   指定内容传送时的编码方式,缺省是"Quoted-Printable"   如:JMail.ContentTransferEncoding = "base64"   (4)ContentType(信件的contentype. 缺省是"text/plain") : 字符串   如果你以HTML格式发送邮件, 改为"text/html"即可。   如:JMail.ContentType = "text/html"   (5)Encoding : 字符串   设置附件编码方式(缺省是"base64)。 可以选择使用的是"base64", "uuencode" or "quoted-printable" 如:JMail.Encoding = "base64"   (6)Log(Jmail创建的日志,前提loging属性设置为true,见下面) : 字符串   如:使用Response.Write( JMail.Log )语句列出日志信息。   (7)Logging(是否使用日志) : 布尔型   如:JMail.Logging = true   (8)Recipients : 字符串   只读属性,返回所有收件人   如:Response.Write( "" + JMail.Recipients + "" );   (9)ReplyTo(指定别的回信地址) : 字符串   如:JMail.ReplyTo = "qiao198@hotmail.com"   (10)Sender( 发件人的邮件地址) : 字符串   如:JMail.Sender = "qiao198@21cn.com"   (11)SenderName(发件人的姓名) : 字符串   如:JMail.SenderName = "一克"   (12)ServerAddress(邮件服务器的地址) : 字符串   你可以指定多个服务器,用分号点开。可以指定端口号。   如果serverAddress保持空白,JMail会尝试远程邮件服务器,然后直接发送到服务器上去。   如:JMail.ServerAddress = "mail.21cn.net.cn"   (13)Subject(设定邮件的标题,可以取自Form。):字符串   如:JMail.Subject = "客户反馈表单"   (14)添加文件附件到邮件   如:JMail.AddAttachment( "c:anyfile.zip" )   (15)AddCustomAttachment( FileName, Data )   添加自定义附件.   如:JMail.AddCustomAttachment( "anyfile.txt", "Contents of file" );   (16)AddHeader( Header, Value )   添加用户定义的信件标头。   如:JMail.AddHeader( "Originating-IP","192.158.1.10" );   (17)AddRecipient(收件人):字符串   如:JMail.AddRecipient( "qiao198@hotmail.com" );   (18)AddRecipientBCC( Email ),密件收件人:   如:JMail.AddRecipientBCC( "qiao198@hotmail.com" );   (19)AddRecipientCC( Email ) ,抄送收件人:   如:JMail.AddRecipientCC( "" )   (20)AddURLAttachment( URL, 文档名)   下载并添加一个来自url的附件. 第二个参数"文档名", 用来指定信件收到后的文件名。   如:JMail.AddURLAttachment( "http://www.chinabs.net/jmail.zip", "jmail" )   (21)AppendBodyFromFile( 文件名) ,将文件作为信件正文:   如:JMail.AppendBodyFromFile( "c:anyfile.txt" )   (22)AppendText( Text )   追加信件的正文内容,比如增加问候语或者其它信息。   如:JMail.AppendText( "欢迎访问本站!" )   (23)Close() ,强制JMail关闭缓冲的与邮件服务器的连接:   如:JMail.Close()   (24)发送【调用格式:objJMail.Send(SMTPServerAddress[:Port])】   例:JMail.Send("smtp.163.com")   Jmail具有以下特点:   (1)可以发送附件;   (2)详细日志能力,便于你查看问题所在;   (3)设置邮件发送的优先级;   (4)支持多种格式的邮件发送,比如说以HTML或者TXT的方式发送邮件。这是个免费的组件。   (5)密件发送/(CC)抄送/紧急信件发送能力;   (6)最关键的就是--免费的组件,不必花钱,所以非常值得使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值