传输不适用于在java中发送smtp电子邮件

时间:2011-03-19 04:39:15

标签: java spring javamail transport

我正在使用:

transport.connect(getHost(), getPort(), getUsername(), getPassword()); 

发送电子邮件,但它总是给我以下例外:

  

class com.sun.mail.smtp.SMTPAddressFailedException:503尝试发送到非本地电子邮件地址时,此邮件服务器需要身份验证。请检查您的邮件客户端设置或联系您的管理员以验证是否为此服务器定义了域或地址。

但实际上我提供了上面的用户名和密码,用户名和密码是正确的,因为我在thunderbird中测试过,它可以很好地发送电子邮件。

那我的问题是什么?请指出正确的方向。谢谢

2 个答案:

答案 0 :(得分:2)

创建javax.mail.Session时,请确保给定的属性包含:

props.put("mail.smtp.auth", "true");

http://www.oracle.com/technetwork/java/javamail/faq/index.html#smtpauth

答案 1 :(得分:0)

我认为您需要与邮件服务器的管理员交谈,看看发生了什么。例如,您可能使用了错误的端口。或者您可能需要遵守一些当地政策...