Java邮件退回邮件的地址

时间:2011-12-11 10:17:13

标签: java

我必须向许多客户发送消息。但他们中的许多人都反弹了。我想要一个这些电子邮件地址的列表。如何从我的Java应用程序中获取该列表?

2 个答案:

答案 0 :(得分:4)

制作一个特殊的电子邮件地址bounced@yourdomain.com,您将捕获所有退回的电子邮件进行分析。

将以下标题添加到您发送的电子邮件中:

Return-Path: <bounced@yourdomain.com>

现在电子邮件将反弹回该地址。

不时从您的java程序中读取该地址的电子邮件,例如通过IMAP(或通过通知界面/依赖您的服务器),当您看到电子邮件地址将其记录在您的数据库中时

请注意,如果您正在使用时事通讯应用,则不应该首次将电子邮件列入黑名单,但要计算它的反弹,并在3-4次反弹后将其列入黑名单(有些人将其电子邮件设置为在进入时反弹假期等等,所以他们需要特别照顾)。

答案 1 :(得分:1)

我使用

解决了这个问题
SMTPMessage msg = new SMTPMessage(getSession()); 
msg.setEnvelopeFrom(bounceAddr);

请参阅javamail文档并查看:

void com.sun.mail.smtp.SMTPMessage.setEnvelopeFrom(String from)

将发件人地址设置为显示在SMTP信封中。请注意,这与消息本身中显示的“发件人”地址不同。信封发件人地址通常在报告错误时使用。有关详细信息,请参阅RFC 821。

如果设置,则覆盖mail.smtp.from属性。

参数:     来自信封来自地址