gpt4 book ai didi

java - VERP 与 JavaMail 和 Postfix,如何操作?

转载 作者:行者123 更新时间:2023-12-02 07:56:16 27 4
gpt4 key购买 nike

首先,您好!

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

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

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

所以这似乎适用于我设置的除 Return-Path 之外的任何 header 。

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

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

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

看起来这个值和我设置的值是一样的。然而,在收到邮件时,返回路径会更改为发件人地址(发件人:)。与其他标题不同的是,它们是设置的。因此,退回通知将发送给发件人,而不是我的bounce+usermail=host@mydomain.com。

我认为此故障发生在 postfix 站点上。

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

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

提前致谢并干杯!

最佳答案

Return-Path header 由接收方而不是发送方设置。

您想要设置“信封发件人”地址。请参阅javadocs for the com.sun.mail.smtp package要设置的属性,请参阅 SMTPMessage类作为设置此信息的另一种方式。

另请注意,您不需要仅仅为了设置自定义 header 而子类化 MimeMessage。您可以直接调用setHeader方法,updateHeaders将在消息发送之前被调用。 (无论如何,updateHeaders 不会对这些自定义 header 执行任何操作。)

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

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com