在ASP中使用Jmail发邮件问题

问题:

--------------------------------------------------------------------------------------------------------------------
IIS版本:  Microsoft-IIS/5.0
支持发送邮件组件:
JMail.SmtpMail (Dimac JMail 邮件收发)  √ 4.4
代码如下:
<%
  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 = "smtp.163.com"   '发送邮件的服务器
  jmail.AddRecipient "xxx@163.com"    '邮件的收件人
  jmail.SenderName = "SenderName"    '邮件发送者的姓名
  jmail.Sender = "xxx@163.com"    '邮件发送者的邮件地址
  jmail.Priority = 1   '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
  jmail.Subject = "Mail Subject"  '邮件的标题
  jmail.Body = "Mail Body"   '邮件的内容
  jmail.Execute()   '执行邮件发送
  jmail.Close    '关闭邮件对象
  response.write "ok"
%>

代码能够执行成功,但是不能接收到邮件?请问下是什么问题?

---------------------------------------------------------------------------------------------------------------------

主要是smtp服务器需要认证,如果是163的用户的话,你的程序中加上用户名和密码认证即可。

下面的代码引自Guest7(第七访客)
///
'========================================================
'函数名:SendMail
'作  用:用Jmail组件发送邮件(需要验证形式)
'说  明: Jmail4.3组件重新设计了其内部结构——使用
'        Message对象代替原来的单一对象Jmail.smtpmail发送
'        邮件,有些方法需要身份验证的(如163、yahoo等),
'        可以用下面的方法解决:
'参  数:MailtoAddress  ----收信人地址
'        MailtoName    -----收信人姓名
'        Subject       -----主题
'        MailBody      -----信件内容
'        FromName      -----发信人姓名
'        MailFrom      -----发信人地址
'        MailServer    -----用来发邮件的SMTP服务器地址
'        Priority      -----信件优先级
'        MailServerUserName    -----登录用户名
'        MailServerPassWord    -----登录密码
'        MailDomain            -----域名
'========================================================
function SendMail(MailtoAddress,MailtoName,Subject,MailBody,FromName,MailFrom,MailServer,Priority,MailServerUserName,MailServerPassWord,MailDomain)
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

 经测试利用以上代码可以发送到多数免费邮箱,但在发到我的Yahoo邮箱时出现了错误,服务器拒收邮件,不知是何故? 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值