在Apache Commons Mail中设置退回地址

时间:2011-08-10 17:10:40

标签: java email apache-commons-email bouncedemail

使用Apache Commons发送电子邮件,代码如下。

HtmlEmail email = new HtmlEmail();
email.setHostName(SMTP_HOST_NAME);
email.setSmtpPort(587);
email.setAuthenticator(new DefaultAuthenticator(SMTP_AUTH_USER, SMTP_AUTH_PWD));
email.setTLS(true);
email.setBounceAddress("aaa@abc.com");
email.setMsg("Hello");
email.setFrom("bbb@abc.edu");
email.addReplyTo("bbb@abc.edu");
email.addTo("i.do.not.exist@abc.gmail.com");
email.send();

但弹跳不起作用。它将退回发送给验证邮件的一方,在此示例中为SMTP_AUTH_USER。那么如何让它正确反弹呢?

2 个答案:

答案 0 :(得分:2)

您是否使用数据包嗅探器检查实际通过电线的是什么?如果SMPT_HOST_NAME上的MSA忽略并覆盖您的退回地址,我不会感到惊讶。

您可以尝试使用SMTP端口连接到MTA,并快速检查这是否有所不同。

答案 1 :(得分:0)

要设置退回地址,您可以在发送电子邮件之前使用setBounceAddress(emailAddressString)方法。