首先,问候!

我将要使用Javax.mail API用Java开发一个自定义新闻通讯应用程序。
因此,我需要开发一种Verp技术以跟踪弹跳。

到目前为止,我已经重写了javax.mail.internet.MimeMessage只是为了处理我自己的Mail标头。

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


因此,这似乎可以与我设置的除Return-Path之外的任何标头一起使用。

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


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

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


似乎该值与我设置的值相同。但是,在收到的邮件中,返回路径更改为发件人地址(From :)。与其余标题不同。因此,退回通知将传递给发件人,而不是我的[email protected]

我认为此故障在postfix网站上。

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

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

提前致谢!

最佳答案

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

您要设置“来自的信封”地址。有关要设置的属性,请参见javadocs for the com.sun.mail.smtp package;作为设置此信息的另一种方法,请参见SMTPMessage类。

另请注意,您不需要仅将MimeMessage子类化即可设置自定义标头。您可以直接调用setHeader方法,并在发送消息之前调用updateHeaders。 (并且updateHeaders不会对这些自定义标头做任何事情。)

关于java - 带有JavaMail和Postfix的VERP,如何操作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9588875/

10-10 06:06