在Apache Commons Mail中设置退信地址

4
使用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。那么我该如何使其正确地反弹?


这似乎是使用Gmail作为提供者的问题。 - Milhous
2个回答

2

你是否通过数据包分析器检查了实际传输的内容?如果 SMPT_HOST_NAME 上的 MSA 忽略并覆盖了你的退信地址,我不会感到惊讶。

你可以尝试使用 MTA 的 SMTP 端口,快速检查是否有所不同。


嗯,我们正在使用谷歌电子邮件,所以在这方面我有些困扰。 - Milhous

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接