老树博客

安装了jmail但无法使用

服务器安装了Jmail组件,但在网站中调用时出现“Server.CreateObject 失败”“Server 对象 错误 'ASP 0177 : 8007007e'  ” 删除jmail重新安装,依故障旧,查资料,重新组件注册一下。regsvr32 jmail.dll ,这样就OK了。安装程序为什么不注册?

找到一些资料,放 这里备用

用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&"订单的邮件,订单留言为"?e&"" '邮件正文
msg.Send ("mail.abc.com") ' SMTP服务器地址
msg.close()
set msg = nothing
%>


=============================================================

'一个调用 Jmail 过程:

sub Jmail(email)

     Dim JMail
     Set jmail = Server.CreateObject("JMAIL.Message")   '建立发送邮件的对象
     jmail.silent = true    '屏蔽例外错误,返回FALSE跟TRUE两值j
     jmail.logging = true   '启用邮件日志
     jmail.Charset = "GB2312"     '邮件的文字编码为国标
      jmail.ContentType = "text/html"    '邮件的格式为HTML格式
     jmail.AddRecipient email     '邮件收件人的地址
     jmail.From = "heyitang@heyitang.net"   '发件人的E-MAIL地址
     jmail.MailServerUserName = "admin"     '登录邮件服务器所需的用户名
     jmail.MailServerPassword = "pa¥¥word"     '登录邮件服务器所需的密码
     jmail.Subject = "您在向往神鹰论坛的发言有了回复"    '邮件的标题
     jmail.Body = mailbody      '邮件的内容
     'response.write mailbody
     'jmail.Prority = 1      '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
     jmail.Send("mail.heyitang.net")     '执行邮件发送(通过邮件服务器地址)
    if err then
    'SendMail=err.description
    'response.write err.description
    err.clear
    SendMail="OK"
    else
    SendMail="OK"
    'response.write "ok"
      end if
     jmail.Close()   '关闭对象
     Set JMail = Nothing 

end sub

'在发信的时候:

mailbody="一封测试信"
call jmail(heyitang@heyitang.net )

'群发类似:
mailbody="一封测试信"
'循环对所有用户发信
if rs("useremail")<>"" then
     email=rs("useremail")
       call jmail(email)
     rs.movenext
loop


====================================

重要提示:

发现很多文章谈到Jmail,但是没有谈到Smtp验证。
很多Asp程序发的邮件被退回,就是因为Smtp验证的问题。

<%


Dim Jmail

Set Jmail=server.createObject("Jmail.Message")

Jmail.Charset = "gb2312"
Jmail.Silent = true
Jmail.Priority = 3
Jmail.MailServerUserName = "xyp@chinalabs.com"   ' 这里换成您的SMTP验证帐号
Jmail.MailServerPassword = "********"                  ' 这里填写您的SMTP认证密码
Jmail.From = "xyp@chinalabs.com"                            ' 发信人邮件地址
Jmail.FromName = "发信人姓名"                                  '
Jmail.Subject = "信件主题"                                          '
Jmail.AddRecipient  "abc@abc.com"                          ' 收信人地址
Jmail.Body = mailbody                                              ' Mailbody参数是信件正文
Jmail.Send("xxx.xyz.com")   ' 这里填写发件服务器,如mail.8sea.com,需要与SMTP验证信息对应

Set Jmail=nothing

 

2010-6-7

2010年6月7日 | 发布:老树 | 分类:电脑网络 | 评论:0

发表留言: