忙了一上午没有找到答案,为什么我的JMail无法正常发送邮件?? 请教

owg 2004-11-21 02:37:09
因为我们公司购买的sina的企业邮箱,发送邮件需要验证,准备选用的JMail发送邮件,但是在调试中每次只要执行到jmail.send方法,就停止响应,程序进入无限等待中,连个错误提示都没有,弄了一上午还是不行,极度郁闷,望大家给予帮助,感谢!!!

附调用代码:
<%
on err resume next
dim jmail
set jmail= server.createobject("jmail.message")
jmail.silent=true
jmail.logging =true
jmail.charset="gb2312"
jmail.contentType="text/html"
jmail.mailserverpassword="121212"
jmail.mailserverusername="owg@evget.com"

jmail.from="owg@evget.com"
jmail.fromName="sssss"
jmail.addRecipient "abc@163.com"
jmail.subject= "一个测试"
jmail.body="ssdfsdf"

jmail.send("mail.sina.net") '*****执行该操作便停止响应*********

if err then
response.write err.description
err.clear
else
response.write "ok!"
end if
%>
...全文
765 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxjhb 2004-11-30
  • 打赏
  • 举报
回复
'=====运行成功=====
'说明:运行时需要用到低端口,请确保你的低端口可用,请先关闭你的防火墙和杀毒工具软件

on error resume next

dim jmail

set jmail= server.createobject("jmail.message")

jmail.silent=true
jmail.logging =true
jmail.charset="gb2312"
jmail.contentType="text/html"

jmail.mailserverpassword="youPassword"
jmail.mailserverusername="userName@163.com"

jmail.from="userName@163.com"
jmail.fromName="MyName"
jmail.addRecipient "userName@163.com"
jmail.subject= "一个测试"
jmail.body="test content!!!!"

jmail.send("userName:youPassword@smtp.163.com")
set jmail=nothing

if error then
response.write error.description
error.clear
else
response.write "ok!"
end if
lxjhb 2004-11-30
  • 打赏
  • 举报
回复
运行上述程序时需要用到低端口,请先关闭你的防火墙和杀毒工具软件
wurf 2004-11-24
  • 打赏
  • 举报
回复
msg.AddRecipient toemail 这句如不改为msg.AddRecipient "canee@sina.com",自然是收不到邮件的。怎么这么怪啊。
wurf 2004-11-24
  • 打赏
  • 举报
回复
新问题:
msg.AddRecipient toemail 这句一改为msg.AddRecipient "canee@sina.com"页面就没响应了,望高手赐教。
jiank 2004-11-24
  • 打赏
  • 举报
回复
不错,学习
wurf 2004-11-24
  • 打赏
  • 举报
回复
我一开始和楼主一样的问题,后来采用该方法可以发送邮件了,也不显示任何错误,可为什么打开邮箱却空空如也呢?
一般能不能在邮箱中立马收到邮件?如何判断我已经发送成功了呢?
yqh1314 2004-11-21
  • 打赏
  • 举报
回复
看看IP 是否正确
owg 2004-11-21
  • 打赏
  • 举报
回复
终于测试通过了!!!!!

结果拿出来大家共享,希望能对大家有所帮助:

通常的使用不说了,对于需要验证的服务器,使用Jmail关键在于send方法的参数:

通常的写法是:用户名:密码@smtp服务器 如dodo:dodo2004@smtp.163.com
但有些服务器的用户名是邮箱全称,按照上面的规则应该如: owg@evget.com:121212@smtp.sina.net
但是这样jmail把第一个@符号后面的部分(evget.com:121212@smtp.sina.net)都当作是smtp服务器名称,这样是错误的,解决的办法就是把前面的用户名或者密码部分的@符号全部更换为 % ,上面的参数串就应该写做owg%evget.com:121212@smtp.sina.net ,这样就ok了

再次感谢各位以及我的朋友“钢铁流星”的帮助!!

最后向大家建议一个非常好的网站: www.eVget.com (慧都控件网),该网站提供最全面的控件产品资讯!
owg 2004-11-21
  • 打赏
  • 举报
回复
按照 whb147(dodo) 说的方法试过,已经有响应了,但是最后还是提示失败:

FalseThe message was undeliverable. All servers failed to receive the message .execute() { Trying server mail:owg@evget.com:mypassword@smtp.sina.net owg@evget.com:mypassword@smtp.sina.net failed with the message: "WSAGetLastError() returned 11001, Host not found" No socket for server. ConnectToServer() 1 of 1 servers failed }

注:telnet smtp.sina.net 25 一切正常

再次感谢各位的帮助!!!!
ruyunluck 2004-11-21
  • 打赏
  • 举报
回复
我遇到过一次(当然是在自己的机器上),我开始也是JMAIL,后来发现不支持,后来用的是CDONTS组件。同时还要注意SMTP虚拟服务器是否IIS中启动了
ruyunluck 2004-11-21
  • 打赏
  • 举报
回复
先检查你的WINDWOS系统是否支持JMAIL组件。
whb147 2004-11-21
  • 打赏
  • 举报
回复
Set msg = Server.CreateObject("JMail.Message")
msg.silent = true
msg.Logging = true
msg.Charset = "gb2312"
msg.MailServerUserName = "dodo@163.com" ''输入smtp服务器验证登陆名 (邮局中任何一个用户的Email地址)
msg.MailServerPassword = "dodo2004" ''输入smtp服务器验证密码 (用户Email帐号对应的密码)
msg.ContentType = "text/html" '邮件的格式为HTML格式
msg.From ="dodo@163.com"' Request.Form("email") ''发件人Email
msg.FromName = "招商网"'Request.Form("name") ''发件人姓名
msg.AddRecipient toemail ''收件人Email
msg.Subject = "用户注册审核信"'Request.Form("subject") ''信件主题
msg.HTMLBody = htmlstr 'Request.Form("body") ''正文
msg.Send ("dodo:dodo2004@smtp.163.com") ''smtp服务器地址(企业邮局地址)
set msg = nothing

这是我的,最近测试可以的
你把上面的用户名和密码改为你的,就行了
whb147 2004-11-21
  • 打赏
  • 举报
回复
需要密码和验证
owg 2004-11-21
  • 打赏
  • 举报
回复
能够ping通,网页访问也没有问题
是是非非 2004-11-21
  • 打赏
  • 举报
回复
jmail.send("mail.sina.net")

服务器上能正常访问mail.sina.net这个域名吗?

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧