首先是jmail.smtpmail的核心代码:
<%
Set jmail = Server.CreateObject("JMAIL.SMTPMail") ’创建一个JMAIL对象
jmail.silent = true ’JMAIL不会抛出例外错误,返回的值为FALSE跟TRUE
jmail.logging = true ’启用使用日志
jmail.Charset = "GB2312" ’邮件文字的代码为简体中文
jmail.ContentType = "text/html" ’邮件的格式为HTML的
jmail.ServerAddress = "Server Address" ’发送邮件的服务器
jmail.AddRecipient Email ’邮件的收件人
jmail.SenderName = "SenderName" ’邮件发送者的姓名
jmail.Sender = "Email Address" ’邮件发送者的邮件地址
jmail.Priority = 1 ’邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
jmail.Subject = "Mail Subject" ’邮件的标题
jmail.Body = "Mail Body" ’邮件的内容
jmail.AddRecipientBCC Email ’密件收件人的地址
jmail.AddRecipientCC Email ’邮件抄送者的地址
jmail.Execute() ’执行邮件发送
jmail.Close ’关闭邮件对象
%>
w3 Jmail4.3组件重新设计了其内部结构——使用Message对象代替原来的单一对象Jmail.smtpmail发送邮件,有些方法需要身份验证的(如163、yahoo等),可以用下面的方法解决:
<%
Set jmail = Server.CreateObject("JMAIL.Message") ’建立发送邮件的对象
jmail.silent = true ’屏蔽例外错误,返回FALSE跟TRUE两值j
mail.logging = true ’启用邮件日志
jmail.Charset = "GB2312" ’邮件的文字编码为国标
jmail.ContentType = "text/html" ’邮件的格式为HTML格式
jmail.AddRecipient Email ’邮件收件人的地址
jmail.From = "Email From for Sender" ’发件人的E-MAIL地址
jmail.MailServerUserName = "UserName of Email" ’登录邮件服务器所需的用户名
jmail.MailServerPassword = "Password of Email" ’登录邮件服务器所需的密码
jmail.Subject = "Mail Subject" ’邮件的标题
jmail.Body = "Mail Body" ’邮件的内容
jmail.Prority = 1 ’邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
jmail.Send("Server Address") ’执行邮件发送(通过邮件服务器地址)
jmail.Close() ’关闭对象
%>
再讲一下微软自带的CDONTS组件的发信的方法:
<%
Set cdomail = Server.CreateObject("CDONTS.NewMail") ’建立邮件对象
cdomail.Subject = "Mail Subject" ’邮件标题
cdomail.From = "Sender’s Mail" ’发件人的地址
cdomail.To = "Email will from" ’收件人的地址
cdomail.Body = "Mail Body" ’邮件的内容
cdomail.Send ’执行发送
%>
这种方法发送邮件是最简单的,同时也带来一定的问题,就是很少有服务器会开这项服务!
我们写程序,一般情况下都是说要代码模块化,这样方便维护,同时也方便移植。因此,我在这里将这个发邮件的写成一个子程,在调用的时候可以直接调用(当然,如果你高兴写成函数的话也是可以的,这个主要是看个人兴趣):
<%
’参数说明
’Subject : 邮件标题
’MailAddress : 发件服务器的地址,如smtp.163.com
’Email : 收件人邮件地址
’Sender : 发件人姓名
’Content : 邮件内容
’Fromer : 发件人的邮件地址
Sub SendAction(subject, mailaddress, email, sender, content, fromer)
Set jmail = Server.CreateObject("JMAIL.SMTPMail") ’创建一个JMAIL对象
jmail.silent = true ’JMAIL不会抛出例外错误,返回的值为FALSE跟TRUE
jmail.logging = true ’启用使用日志
jmail.Charset = "GB2312" ’邮件文字的代码为简体中文
jmail.ContentType = "text/html" ’邮件的格式为HTML的
jmail.ServerAddress = mailaddress ’发送邮件的服务器
jmail.AddRecipient Email ’邮件的收件人
jmail.SenderName = sender ’邮件发送者的姓名
jmail.Sender = fromer ’邮件发送者的邮件地址
jmail.Priority = 1 ’邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
jmail.Subject = subject ’邮件的标题
jmail.Body = content ’邮件的内容
’由于没有用到密抄跟抄送,这里屏蔽掉这两句,如果您有需要的话,可以在这里恢复
’jmail.AddRecipientBCC Email ’密件收件人的地址
’jmail.AddRecipientCC Email ’邮件抄送者的地址
jmail.Execute() ’执行邮件发送
jmail.Close ’关闭邮件对象
End Sub
’调用此Sub的例子
Dim strSubject,strEmail,strMailAdress,strSender,strContent,strFromer
strSubject = "这是一封用JMAIL发送的测试邮件"
strContent = "JMail组件发送测试成功!"
strEmail = "runbing@eyou.com"
strFromer = "runbing@eyou.com"
strMailAddress = "mail.ubbcn.com"
1.首先下载jmail控件,然后安装(其实不安装也行,只要你能找到jmail.dll文件,然后注册该dll文件。这里不支持上传附件,否则我就把我下载的传上来了)。附上手工注册它的批处理:
echo off
copy jmail.dll C:/windows/system32
regsvr32 jmail.dll
echo 执行完毕!
pause
2.使用tlbimp c:/Program Files/Dimac/w3JMail4/jmail.dll /out:myJmail.dll /namespace:myJmail生成myJmail.dll后,copy到web的根目录的bin目录。
在ASP.Net页面中,用using myjmail方法引用,例程如下:
protected void Page_Load(object sender, EventArgs e)
{
myjmail.Message jmail = new myjmail.Message()
DateTime t=DateTime.Now
string subject = "jmail test from web"
string body= "<center>jmail test from web<br>test</center>" //tbContent.Text.Replace("/n","<br>")
string fromemail="xxxx@e165.com "
string toEmail= "xxxx@e165.com "
//silent属性:如果设置为true,jmail不会抛出例外错误. jmail. send( () 会根据操作结果返回true或false
jmail.Silent = true
//jmail创建的日志,前提loging属性设置为true
//jmail.Logging=true
//字符集,缺省为"us-ascii"
jmail.Charset="gb2312"
//信件的contentype. 缺省是"text/plain") : 字符串如果你以html格式发送邮件, 改为"text/html"即可。
jmail.ContentType="text/html"
//添加收件人
jmail.AddRecipient(toEmail,"","")
jmail.From = fromemail
//发件人邮件用户名
jmail.MailServerUserName="xxxx"
//发件人邮件密码
jmail.MailServerPassWord="xxxx"
//设置邮件标题
jmail.Subject=subject
// 邮件添加附件,(多附件的话,可以再加一条jmail.addattachment( "c://test.jpg",true,null))就可以搞定了。[注]:加了附件,讲把上面的 jmail.contenttype="text/html"删掉。否则会在邮件里出现乱码。
//jmail.addattachment( "c://test.jpg",true,null)
//邮件内容
jmail.Body=body
//jmail发送的方法
if(jmail.Send("smtp.e165.com",false))
lbResult.Text = "已成功发送邮件。"
else
lbResult.Text = "发送邮件失败!!!"
jmail.Close()
}
下载JMAIL组件并安装。下载地址:http://www.xinasp.com/cjmb/126/2006020912554.html
安装完以后在ASP里面就可以如下调用
用Jmail组件发送邮件
函数名:SendMail
作 用:用Jmail组件发送邮件
参 数:MailtoAddress ----收信人地址
MailtoName-----收信人姓名
Subject -----主题
MailBody -----信件内容
FromName -----发信人姓名
MailFrom -----发信人地址
Priority -----信件优先级'**************************************************
'函数名:SendMail
'作 用:用Jmail组件发送邮件
'参 数:MailtoAddress ----收信人地址
'MailtoName-----收信人姓名
'Subject -----主题
'MailBody -----信件内容
'FromName -----发信人姓名
'MailFrom -----发信人地址
'Priority -----信件优先级
'**************************************************
function SendMail(MailtoAddress,MailtoName,Subject,MailBody,FromName,MailFrom,Priority)
on error resume next
Dim JMail
Set JMail=Server.CreateObject("JMail.Message")
if err then
SendMail= "<br><li>没有安装JMail组件</li>"
err.clear
exit function
end if
JMail.Charset="gb2312" '邮件编码
JMail.silent=true
JMail.ContentType = "text/html" '邮件正文格式
'JMail.ServerAddress=MailServer '用来发送邮件的SMTP服务器
'如果服务器需要SMTP身份验证则还需指定以下参数
JMail.MailServerUserName = MailServerUserName'登录用户名
JMail.MailServerPassWord = MailServerPassword'登录密码
JMail.MailDomain = MailDomain '域名(如果用"name@domain.com"这样的用户名登录时,请指明domain.com
JMail.AddRecipient MailtoAddress,MailtoName '收信人
JMail.Subject=Subject '主题
JMail.HMTLBody=MailBody '邮件正文(HTML格式)
JMail.Body=MailBody '邮件正文(纯文本格式)
JMail.FromName=FromName '发信人姓名
JMail.From = MailFrom '发信人Email
JMail.Priority=Priority '邮件等级,1为加急,3为普通,5为低级
JMail.Send(MailServer)
SendMail =JMail.ErrorMessage
JMail.Close
Set JMail=nothing
end function
如何使用Jmail组件发送邮件
JMail是目前功能最齐全、稳定及高效的邮件发送组件,我们的Windows系列空间服务器均装有些组件。以下为利用该组件进行邮件发送的示例:
例子一:
<%
Set msg = Server.CreateObject("JMail.Message")
msg.silent = true
msg.Logging = true
msg.Charset = "gb2312"
msg.MailServerUserName = "sales@abc.com" '此为您邮箱的登录帐号,使用时请更改为自己的邮箱登录帐号
msg.MailServerPassword = "56789" '此为您邮箱的登录密码,使用时请更改为自己的邮箱登录密码
msg.From = "sales@abc.com"'发件人Email
msg.FromName = "某某公司" '发件人姓名
msg.AddRecipient "tech@abc.com"'收件人Email
msg.Subject = "Jmail发送测试" '邮件主题
msg.Body = "这是由Jmail组件发送的邮件!" '邮件正文
msg.Send ("mail.abc.com") 'SMTP服务器地址
msg.close()
set msg = nothing
%>
例子二:
<%
name=request.form("name")
email=request.form("email")
note=request.form("note")
Set msg = Server.CreateObject("JMail.Message")
msg.silent = true
msg.Logging = true
msg.Charset = "gb2312"
msg.MailServerUserName = "sales@abc.com" '此为您邮箱的登录帐号,使用时请更改为自己的邮箱登录帐号
msg.MailServerPassword = "56789" '此为您邮箱的登录密码,使用时请更改为自己的邮箱登录密码
msg.From = email '发件人Email
msg.FromName = name '发件人姓名
msg.AddRecipient "tech@abc.com"'收件人Email
msg.Subject = "Jmail发送测试" '邮件主题
msg.Body = "这是由"&name&"订单的邮件,订单留言为"&note&"" '邮件正文
msg.Send ("mail.abc.com") ' SMTP服务器地址
msg.close()
set msg = nothing
%>
可参照:http://www.xinxinheng.com/changjianwenti/Jmailzujian.htm
http://study.zhupao.com/infoview/Article_16775.html
http://www.net118.com/article/200511994347.htm
如果还有不明白就直接搜索JMAIL 发送邮件```
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)