是否可以指定多个电子邮件地址来接收退回邮件?

时间:2011-11-21 11:39:28

标签: java smtp javamail bouncedemail

我们正在使用JavaMail API从我们的应用程序发送电子邮件。要处理退回邮件(Non delivery report), 我们使用以下代码将退回重定向到其他电子邮件地址:

properties.put("mail.smtp.from", "bounce@example.net");

在我们的案例中,我们希望将退回重定向到多个电子邮件地址。事实上,我们甚至尝试过其他一些选项,例如提供以逗号分隔的地址列表等,但它们都没有工作。

我的问题是,是否可以将退回重定向到多个电子邮件地址?即使在谷歌搜索之后,我也找不到合适的答案/解决方案。

也欢迎任何替代/解决方案。

2 个答案:

答案 0 :(得分:1)

根据定义/ RFC,SMTP协议只允许“MAIL FROM:”阶段中的一个地址(这是退回地址),将跳转发送给多个收件人的唯一方法是从单个退回地址到转发地址的转发器多个目标地址。

但是,所有反弹都来自null发送者,因此如果转发因任何reaseon失败,你将不会得到任何通知,它会产生“双重反弹”,并且消息将被删除。

因此,我建议将跳出存储在一个imap文件夹中,并让所有必需的人或应用程序访问它(例如,轮询跳出而不是转发),如果这在您的环境中是可行的。

答案 1 :(得分:0)

Apache Commons Email允许退回。但不幸的是,它需要单个字符串,并且不允许收集InternetAddress。
HtmlEmail email = new HtmlEmail(); email.setBounceAddress("bounceoff-emailad@abc.com");希望这有帮助