asp中利用jmail组件发邮件

我们都想在自己的网站上实现发邮件的功能,jmail组件给我们提供了方便,现在多数的服务器都支持这个组件,如果你想在自己的机子上发邮件,下载这个组件安装一下也可以,下载地址:http://dl.cf66.net/d1/system/jmail43.rar,当然下载这个组件的地方非常多,这里就不多提供了。
下面让我们来认识一下jmail组件4.3的一些属性,这些东西网上很多,不是我的原创,但标明出处也大可不必了:
1、创建jmail对象
Set JMail = Server.CreateObject("JMail.Message")
2、指定邮件字符集,默认是"US-ASCII"
JMail.Charset = "gb2312"
3、指定发送者信息
JMail.From = "bj_heiyu@163.com" " 发送者邮箱地址
JMail.FromName = "北京黑羽." " 发送者姓名
JMail.Subject = "测试邮件" "邮件标题
3、我们利用邮件服务器来发邮件,必须登录到邮件服务器进行身份验证
JMail.MailServerUserName = "bj_heiyu" "用户名和你邮件帐号是对应的
JMail.MailServerPassword = "********" "这里是你帐的密码
4、设置优先级,范围从1到5,越大的优先级越高,3为普通
JMail.Priority =5
’JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
5、指定收件人地址,可以是多个
JMail.AddRecipient("23mm@163.com")
6、 邮件正文,这是文本部分的内容
JMail.Body = "测试邮件"
7、发送
JMail.Send("smtp.163.com")
8、关闭并清除对象
JMail.Close()
Set JMail = Nothing

去掉多作部分就可以测试这个程序了,我测试过了,没有问题,其实我们想要做的是发送html邮件,在以下的部分里再做这方面的解释

本主题有2个回复
北京黑羽在2006-4-5 9:35:53回复说:

下面的内容是实现邮件群发,我们先多加两个帐号测试
....
JMail.AddRecipient "bj_heiyu@163.com"
JMail.AddRecipient "23mm@sohu.com"
JMail.Send("smtp.163.com")
JMail.Close()
Set JMail = Nothing
运行这个程序,看看新加入的这两个邮箱是不是收到邮件了

上面这个程序对于注册会员群发邮件很有用,下面做一个基本的代码,打开注册会员表user的程略过
......
do while not rs.eof
JMail.AddRecipient rs("email")
rs.movenext
loop
rs.nothing
set rs=nothing
JMail.Send("smtp.163.com")
JMail.Close()
Set JMail = Nothing

如果你的注册会员不多的话,试试这样发信,当然如果你的注册用户太多的情况下,这样发信不太可取了,可以利用分页的原理来实现,下面将做一个这样的测试


北京黑羽在2006-4-5 13:01:39回复说:

给出了群发邮件代码:
********数据库连接页面conn.asp*****
<%
dim conn,connstr,db
db="data/data.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
conn.Open connstr
%>


********jmail.asp--群发页面*********
<!--#include file="conn.asp"-->
<%
Set JMail = Server.CreateObject("JMail.Message")
JMail.Charset = "gb2312"
JMail.From = "bj_heiyu@163.com" " 发送者邮箱地址
JMail.FromName = "北京黑羽." " 发送者姓名
JMail.Subject = "测试邮件" "邮件标题
JMail.MailServerUserName = "bj_heiyu" "用户名和你邮件帐号是对应的
JMail.MailServerPassword = "********" "这里是你帐的密码
JMail.Priority =5
"JMail.AddRecipient("23mm@163.com")
JMail.Body = "测试邮件"

"以下部分是取得注册用户的邮箱地址
dim rs,sql
Set rs = Server.CreateObject("ADODB.Recordset")
sql="select * from [user]"
rs.Open sql,conn,1,1

"以下部分是利用分页的方法取得每次群发邮件发出的内容
dim n,i,m
n=trim(request("n")) "n用来接收显示第几页
if n="" or not IsNumeric(n) then "如果n接收的是一个空字符,就指向第一页
n="1"
end if
n=cint(n) "把字符转换成数字
rs.pagesize=20 "设定每次发20个邮件
if n<1 then n=1 "如果指定给n的值是一个负数,就指向第一页
if n>rs.pagecount then n=rs.pagecount "如果指的的值超出了记录范围,就指向最后一页
rs.absolutepage=n
m=rs.pagecount

i=1
do while not rs.eof and i<=rs.pagesize
JMail.AddRecipient rs("email")
i=i+1
rs.movenext
loop
rs.close
set rs=nothing
JMail.Send("smtp.163.com")
JMail.Close()
Set JMail = Nothing
dim url
if n<m then
url="jmail.asp?n="&n+1
else
url="jmail_ok.asp"
end if
response.redirect(url)
%>

*******jmail_ok.asp**********
<%
response.write "邮件发送完成"
%>

下载打包源文件,注:如果引用此文档,请标明出处(出处的链接地址如下所示)

http://www.brsky.net/web/index.asp?id=73&page=1

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值