0

首先,您好!

我即将使用Javax.mail API 在 Java 中开发一个自定义新闻通讯应用程序。所以我需要开发一种 Verp 技术来跟踪反弹。

到目前为止,我已经覆盖了javax.mail.internet.MimeMessage只是为了处理我自己的邮件标头。

class CustomMailMessage extends MimeMessage
...
public void setCustomHeader(key, value)
{
    setHeader(key, value);
    updateHeaders();
}
...

所以这似乎适用于我设置的任何标题,除了返回路径。

...
setCustomHeader("Return-Path",verpAddr);
...

导致 VERP 失败。我在调用之前和之后跟踪了此标头的值

...
Transport.send(message);
...

并且似乎该值与我设置的值相同。然而,在收到的邮件中,返回路径更改为发件人地址(发件人:)。与其他标题不同的是,它们是设置的。因此,退回通知将发送给发件人,而不是我的 bounce+usermail=host@mydomain.com 。

我认为这个失败是在后缀站点上。

请注意,服务器由 Plesk 设置,并且我的 domain.com 在我的服务器上共享。

所以我请任何可以帮助我的人。或者可以为我提供有关如何以不同方式实现 Verp 技术的更多信息。

Thx 提前和干杯!

4

1 回答 1

2

Return-Path 标头由接收方设置,而不是发送方。

您要设置“信封发件人”地址。有关要设置的属性,请参见com.sun.mail.smtp 包的 javadocs ,并将SMTPMessage类视为设置此信息的另一种方式。

另请注意,您不需要子类 MimeMessage 只是为了设置自定义标题。您可以直接调用 setHeader 方法,在发送消息之前会调用 updateHeaders。(而且 updateHeaders 无论如何都不会对这些自定义标头做任何事情。)

于 2012-03-06T18:46:56.380 回答