遇到Jmail组件发邮件的问题,按以下几点逐个查找。
1、看服务器上的smtp服务是否已启动。
2、安装好jmail后,给IIS用户对 jmail.dll文件的写权限。
3、用阿江探针,看Jmail组件是否已成功开启。
4、用正确的邮件发送代码测试。
具体大概排错:
把jmail组件卸掉又重装,装好后,测试发邮件,不成功,用阿江探针查询,显示 Jmail组件没开启,在网上搜了一阵,无意中在一个网站上找到一个答案说是没有给IIS帐号开放对 dll 文件的读写权限,右击安装路径下的 jmail.dll 文件,选属性,把 ISUR_xxx 和 IWAM_xxx 两个帐号加进去,给予写入权限,确定。测试,发现邮件能发了,可是速度很慢,还好,成功了一半。
我的服务器是双线出口的,有一个内网IP,把外网IP换成内网IP试试,找到JMail.ServerAddress = "xxx.xxx.xxx.xxx" 这句代码,换成内网IP,测试,成功了,1秒种就发出去了,至此这个问题解决了。
dim JMail
on error resume next
Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ServerAddress = "xxx.xxx.xxx.xxx" ‘你服务器的IP或域名
JMail.LazySend = true
JMail.Charset = mcharset
JMail.ContentType = "text/html"
JMail.Sender = "xxx@xxx.com" ‘发送者邮箱
JMail.Subject = "测试发邮件"
JMail.AddRecipient "xxx@xxx.com" ‘接收者邮箱
JMail.Body = "测试邮件"
JMail.Priority = 3
JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
JMail.Execute
JMail.close
set JMail=nothing
if err.number<>0 then
response.write err.description
err.clear
else
response.write "发送成功"
end if
评论前必须登录!
注册