找回密码
 注册
查看: 3298|回复: 3
收起左侧

关于Jmail组件发邮件提示成功但实际失败的处理方法

[复制链接]

5341

主题

8361

帖子

1万

积分

管理员

出售国内外虚拟空间

Rank: 10Rank: 10Rank: 10

积分
14733
帖子
8361
精华
67
体力
14733 点
蓝豆
2391 点
注册时间
2007-6-8

终身成就奖LY官方团队会员身份ID卡

发表于 2008-4-26 21:47:22 | 显示全部楼层 |阅读模式
近期,有很多用户反应使用Jmail组件发送邮件的时候,系统提示发送成功,但实际却无法收到。 经过对程序的检查和一段时间的实验,现给出如下改进方案: 打开inc/Email_Cls.asp文件,在大约151行附近找到:Obj.Silent = True 将其改为Obj.Silent = False 注意: 这个更改可以让Jmail在发信失败的时候报错,以便查找错误原因。 如果收到错误消息,可以尝试“百度”或“GOOGLE”一下,或许有不小的收获哦! 无论是使用Jmail还是其他组件发信,都不能保证信件肯定能发送成功,这和网络状况等很多原因都有关系(OE不能收发信的情况也经常遇到嘛)。 附:Jmail组件发信设置注意事项: 1、首先要确定你所使用的邮件支持SMTP发信,即可以使用微软自带的Outlook Express收发信。 2、确定你的后台-论坛基本设置-“论坛管理员Email”一项要设置为你发信所使用的Email地址(一般的免费邮箱都会验证此项)。 3、确定服务器支持Jmail组件,SMTP服务器填写正确,发信用户名和密码填写正确。 4、注意发信用户名不是邮件地址,用户名可以与邮件地址相同,也可以不同(如163就不包括@符号及后面的部分),具体信息可以咨询邮件服务提供商。 (常见的错误The message was undeliverable. All servers failed to receive the message就可能是由于3和4没有设置正确导致的) 5、注意发信的地址、标题和内容中请不要含有可能被过滤的词语,如字母AD的组合(用来表示此邮件是一封广告邮件)等。许多服务器上都装有信息过滤系统和防垃圾邮件的程序,这些程序可能会因此而阻止信件到达收件人的邮箱 发送成功!发送成功!发送成功!发送成功!发送成功!发送成功!发送失败!原因:The message was undeliverable. All servers failed to receive the message发送失败! 错误解决 admin/sendmail.asp文件中找到下面这一段: Set DvEmail = New Dv_SendMail DvEmail.SendObject = Cint(Dvbbs.Forum_Setting(2)) \'设置选取组件 1=Jmail,2=Cdonts,3=Aspemail DvEmail.ServerLoginName = Dvbbs.Forum_info(12) \'您的邮件服务器登录名 DvEmail.ServerLoginPass = Dvbbs.Forum_info(13) \'登录密码 DvEmail.SendSMTP = Dvbbs.Forum_info(4) \'SMTP地址 DvEmail.SendFromEmail = Dvbbs.Forum_info(5) \'发送来源地址 DvEmail.SendFromName = Dvbbs.Forum_info(0) \'发送人信息 For i=0 To Ubound(SQL,2) If DvEmail.ErrCode = 0 Then DvEmail.SendMail SQL(2,i),EmailTopic,EmailBody \'执行发送邮件 If Not DvEmail.ErrCode = 0 Then ErrMsg = DvEmail.Description Dvbbs_Error() Exit Sub End If Else ErrMsg = DvEmail.Description Dvbbs_Error() Exit Sub End If ii=ii+1 Response.Write \"\" Response.Flush LastUserID = SQL(0,i) Next 改为: Set DvEmail = New Dv_SendMail DvEmail.SendObject = Cint(Dvbbs.Forum_Setting(2)) \'设置选取组件 1=Jmail,2=Cdonts,3=Aspemail DvEmail.ServerLoginName = Dvbbs.Forum_info(12) \'您的邮件服务器登录名 DvEmail.ServerLoginPass = Dvbbs.Forum_info(13) \'登录密码 DvEmail.SendSMTP = Dvbbs.Forum_info(4) \'SMTP地址 DvEmail.SendFromEmail = Dvbbs.Forum_info(5) \'发送来源地址 DvEmail.SendFromName = Dvbbs.Forum_info(0) \'发送人信息 ErrMsg=\"\" For i=0 To Ubound(SQL,2) If DvEmail.ErrCode = 0 Then DvEmail.SendMail SQL(2,i),EmailTopic,EmailBody \'执行发送邮件 If Not DvEmail.ErrCode = 0 Then ErrMsg = DvEmail.Description End If Else ErrMsg = DvEmail.Description End If ii=ii+1 Response.Write \"\" Response.Flush LastUserID = SQL(0,i) Next If ErrMsg <> \"\" Then Response.Write(\"发送过程中出现错误:\"&ErrMsg) Response.Flush ErrMsg=\"\" End If 则发送过程中不会对错误进行处理,在发送过程完成以后才会显示错误信息。
出售国内或美国高性能虚拟空间,高速VPS以及服务器! 同时承接各种类型的网站制作,网站维护,支付宝交易安全放心!    联系QQ:6102031
懒得打字嘛,点击右侧快捷回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

网站公告上一条 /2 下一条

GMT+8, 2025-2-5 21:02 , Processed in 0.115071 second(s), 24 queries , Gzip On.

© 2006-2022 Powered by Discuz! X3.4

快速回复 返回顶部 返回列表