我尝试了this page上建议的代码,它在gmail中运行得非常好,如示例所示。我专门使用了SSL身份验证示例。
使用相同的代码,但更改凭据和SMTP主机,我收到以下错误:
javax.mail.SendFailedException: Invalid Addresses; nested exception
is: com.sun.mail.smtp.SMTPAddressFailedException: 504 5.5.2
<me@MY-PC>: Sender address rejected: need fully-qualified
address
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1996)
at
com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1240)
at javax.mail.Transport.send0(Transport.java:255) at
javax.mail.Transport.send(Transport.java:124) at
EmailUtil.sendEmail(EmailUtil.java:49) at
EmailSSL.main(EmailSSL.java:56) Caused by:
com.sun.mail.smtp.SMTPAddressFailedException: 504 5.5.2
<me@MY-PC>: Sender address rejected: need fully-qualified
address
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1896)
... 5 more
发生错误的是,发件人的地址现在是我的本地PC的地址,即使代码中指定的地址不是。
为什么完全相同的代码适用于gmail而不适用于其他主机?
感谢阅读! 文森特