SendFailedException:无效地址 - 但异常

时间:2017-08-08 11:50:14

标签: javamail

我尝试向多个收件人发送邮件。我做了很标准的事情:

Properties p = new Properties();
p.setProperty("mail.smtp.host", "my.smtp.host");

Session session = Session.getInstance(p);
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(origin));
msg.setReplyTo(new InternetAddress[]{ new InternetAddress(replyTo) });
for( String address : destinations ) {
    msg.addRecipient(Message.RecipientType.BCC, new InternetAddress(address));
}
msg.setSubject("foo");
msg.setText("bar");
msg.setSentDate(new Date());
Transport.send(msg);

大部分时间它都有效,有几次它没有。我得到的例外是SendFailedException: Invalid Addresses。当我打印异常的内容时,我得到了这个:

-ivalid:[]
-valid unsent:[...@gmail.com, ...@hotmail.com, ...@live.com, ...]
-valid sent:null

基本上它说有一个或多个无效地址,然后它说没有无效地址。无效地址数组是否至少有一个电子邮件地址?

更新 SendFailedException是由另一个异常引起的,其中包含以下消息:

  

451 4.3.0< sender_email_address>:临时查找失败

邮件中的无效地址可能不是来自任何收件人,而是来自发件人。

1 个答案:

答案 0 :(得分:0)

它看起来不像你authenticating to your mail server,所以它可能不会让你send to non-local addresses。 (是的,在这种情况下,错误消息不是很有帮助。)