首先,问候!
我将要使用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/