当前位置: 技术问答>java相关
java Mail发信问题
来源: 互联网 发布时间:2017-04-28
本文导语: 我在我的服务器上配置了sendmail,用foxmail、outlook收发邮件没问题。 用java写了客户端,用我的邮件服务器发信时出错 javax.mail.SendFailedException: Sending failed; nested exception is: javax.mail.MessagingException: 501 5.0.0 Invalid ...
我在我的服务器上配置了sendmail,用foxmail、outlook收发邮件没问题。
用java写了客户端,用我的邮件服务器发信时出错
javax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.MessagingException: 501 5.0.0 Invalid domain name
at javax.mail.Transport.send0(Transport.java:219)
at javax.mail.Transport.send(Transport.java:81)
at SimpleSendMessage.main(SimpleSendMessage.java:65)
但是,我的程序,用sina.com.cn的邮件服务器发信却没有问题,可能是什么原因?
程序中mail.host为ip形式。
用java写了客户端,用我的邮件服务器发信时出错
javax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.MessagingException: 501 5.0.0 Invalid domain name
at javax.mail.Transport.send0(Transport.java:219)
at javax.mail.Transport.send(Transport.java:81)
at SimpleSendMessage.main(SimpleSendMessage.java:65)
但是,我的程序,用sina.com.cn的邮件服务器发信却没有问题,可能是什么原因?
程序中mail.host为ip形式。
|
从错误看好象是你的与名写错了。呵呵
不能这么简单吧。
另外:
你的程序能用sina.com.cn做smtp服务器?
我也做过一个这样的程序。
一般的商用邮件服务器为了防止你利用他的smtp服务器进行垃圾邮件传播
都会要求你进行身份验证的,这个问题你解决了么?
如何实现,谢谢。
不能这么简单吧。
另外:
你的程序能用sina.com.cn做smtp服务器?
我也做过一个这样的程序。
一般的商用邮件服务器为了防止你利用他的smtp服务器进行垃圾邮件传播
都会要求你进行身份验证的,这个问题你解决了么?
如何实现,谢谢。
|
peter207 (辉) :
把你的代码贴出来吧,或者发到我的电子邮件
littlebird800225@hotmail.com
huzijing(巴特鲁) :
要求认证的smtp,你您可以使用Authenticator抽象类的子类,并通过 getPasswordAuthentication()方法返回一个 PasswordAuthentication
实例,在该实例中把用户名和密码传递进去即可
具体可参见sun的教程:
http://cn.sun.com/developers/onlineTraining/JavaMail/
把你的代码贴出来吧,或者发到我的电子邮件
littlebird800225@hotmail.com
huzijing(巴特鲁) :
要求认证的smtp,你您可以使用Authenticator抽象类的子类,并通过 getPasswordAuthentication()方法返回一个 PasswordAuthentication
实例,在该实例中把用户名和密码传递进去即可
具体可参见sun的教程:
http://cn.sun.com/developers/onlineTraining/JavaMail/
|
这里不对(值得商讨):
String from = "temp@sina.com.cn"; //可随便写
很多都要求论证,只有用户名与之相对且密码正确才能够发得出去,不然会报没有权限的错
这里也有不应对:
String host = "smtp.sina.com.cn"; //或者host="202.106.187.180";都可用
只能用前一种即 smtp.sina.com.cn,而不能用IP,202.106.187.180
所以你的错误也就是不应该用的IP,而用我上面提到的方法
smtp.yourservername
String from = "temp@sina.com.cn"; //可随便写
很多都要求论证,只有用户名与之相对且密码正确才能够发得出去,不然会报没有权限的错
这里也有不应对:
String host = "smtp.sina.com.cn"; //或者host="202.106.187.180";都可用
只能用前一种即 smtp.sina.com.cn,而不能用IP,202.106.187.180
所以你的错误也就是不应该用的IP,而用我上面提到的方法
smtp.yourservername
|
邮件服务器域名错误。
|
String host="smtp.yourservername";