ASP实现自动发邮件

ASP实现自动发邮件代码:


摘录一:
 <%@LANGUAGE="VBSCRIPT" %>
<%
email="www@www.com"
txt="找回密码。"
set jmail = server.createobject("jmail.smtpmail")
jmail.serveraddress = "www.www.com" '指定发送邮件的服务器地址
jmail.addrecipient email '收件人地址
jmail.subject = "找回密码" '邮件主题
jmail.body = txt '邮件正文
jmail.contenttype ="text/html" '指定为html格式的邮件
jmail.sender = "www@www.com" '发件人
jmail.priority = 2 '优先级
jmail.execute
set jmail=nothing
%>

摘录二:

<%
Call SendMail("zhangzhenyu-555@163.com","浩方网络影院会员","注册成功确认","浩方网络会员注册成功 用户名:密码:注册时间:","浩方网络影院站长","gs057788@163.com")
Function SendMail(MailtoAddress,MailtoName,Subject,MailBody,FromName,MailFrom)
'函数参数说明(收件人地址,收件人姓名(可选),主题,邮件内容,发件人姓名(可选),发件人地址)
'on error resume next
Dim JMail,MailServer,Flag
Set JMail=Server.CreateObject("JMail.Message")
If err Then
SendMail = False
err.clear
Exit Function
End if
JMail.Charset="gb2312" '邮件编码
JMail.silent=True
JMail.ContentType = "text/html" '邮件正文格式
MailServer = "smtp.163.com" '用来发送邮件的SMTP服务器
JMail.MailServerUserName = "user" '登录用户名
JMail.MailServerPassWord = "********" '登录密码
JMail.MailDomain = "163.com" '域名(如果用"name@domain.com"这样的用户名登录时,请指明domain.com),可选
JMail.AddRecipient MailtoAddress,MailtoName '收信人邮箱和收信人名称
JMail.Subject = Subject '主题
JMail.AppendHTML(MailBody)
JMail.FromName = FromName '发信人姓名
JMail.From = MailFrom '发信人Email
JMail.Priority = 3 '邮件等级,1为加急,3为普通,5为低级
Flag=JMail.Send(MailServer)
If Flag Then
SendMail=True
Else
SendMail=False
End If
JMail.Close
Set JMail=nothing
End Function
%>

摘录三:

想在注册帐号的时候给注册者发送一封确认信?

X  想使用网站数据库中的电子邮件库做电子邮件推广?

想实现这样的功能,最理想的莫过于使用现有的smtp服务器配合网站的程序来实现。这个功能我思考了很久了,可惜的是最终没有找到可以不使用组件就能实现上述功能的方法。找到了一篇关于"windows server 2003 免组件在线发邮件"的文件,测试没有成功,原文如下:

"其实ASP可以做很多事,只是大家不知道怎么用而以。微软为asp提供了非常多的现成有用的组件,而这些组件却没有人知道,如用CDO.Message发送邮件。

什么是CDO.Message?在winnt和win2k下发送邮件要用CDONTS.NewMail,CDONTS.NewMail组件是需要注册的,很简单,只要在服务器上运行命令行regsvr32 Cdonts.dll,在弹出的对话框中确定即可,使用CDONTS.NewMail服务还需安装有iis自带的smtp。到了windows2003,系统就没有附带Cdonts.dll文件了,只剩下一个类似的文件cdosys.dll,当然这个文件在win2k也是有的(需要注册组件),不过2003下好的是什么呢?该组件无需手动注册,系统已经自动注册了。现在我们来看看如何使用该组件吧。

< %
Dim cm
Set cm=Server.CreateObject("CDO.Message")
''创建对象
cm.From="from@test.com"
''设置发信人的邮箱
cm.To="to@test.com"
''设置收信人的邮箱
cm.Subject="我发现一个可以在线订阅RSS的网站,以后不用再安装什么软件了。"
''设定邮件的主题
''cm.TextBody="http://www.knowsky.com/rss/"
''上面是使用普通的文本格式发送邮件,只能是文字,不能支持html,所以这里不用

cm.HtmlBody="Online RSS Feeds Reader 是一个在线的RSS新闻阅读系统。"&_
"无需下载安装,只要注册了之后你就可以拥有和软件一样强大功能的RSS在线订阅聚合新闻的系统了。"&_
"不管你在任何地方,只要你能上网,你就能阅读你喜欢的订阅。"&_
"快去注册吧:http://www.gbmad.net/rss/"

''上面就是你构建的html正文,这样发出的邮件就比只有文字的好看多了。不要说你不会html吧

''cm.AddAttachment Server.MapPath("test.zip")
''如果有需要发送附件的话就用上面的方法把文件附加进去。

cm.Send
''最后当然是执行发送了
Set cm=Nothing
''发送成功后即时释放对象

Response.Write("发送邮件成功。")
%>"

我是使用普通宽带测试的,有独立的IP,但没有成功,于是想试试使用最常见的免费邮件组件Jmail。在http://www.dimac.net下载了Jmail的免费程序,安装之后,用下面一段简单的ASP代码发送邮件成功!

"< %
Set msg=Server.CreateObject("Jmail.Message")
msg.silent=true
msg.Logging = true
msg.Charset = "gb2312"
msg.MailServerUserName = "aftersale@163.com"''输入smtp服务器验证登陆名
msg.MailServerPassword = "PassWord"''输入smtp服务器验证密码
msg.From = "AfterSale@163.com"''发件人
msg.FromName = "售后服务"''发件人姓名
msg.AddRecipient "asiabaa@163.com"''收件人 
msg.Subject = "主题"''主题
msg.Body = "本邮件由ASP自动发送!"''正文
msg.Priority = 1''设定邮件优先级1为紧急,3为正常,5为缓慢。
msg.Send ("smtp.163.com")''邮件服务器
set msg = nothing
Response.Write("Success!")
%>"

想使用msg.AddRecipient "asiabaa@163.com","ofwind@tom.com" 群发结果失败,后来想想只能使用循坏语句循环ms.AddRecipient来实现了。结果还是比较令人满意的,163.com免费的smtp速度很快,要注意的一点是发件人的电子邮件地址一定要和smtp服务器的登陆名一致,否则发送失败。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值