我如何防止 Postfix 两次添加此 Reply-To 标头?

我如何防止 Postfix 两次添加此 Reply-To 标头?

我正在运行带有 Postfix 的邮件服务器,并且已在 /etc/postfix/header_checks.pcre 中设置了此行:

/^To: [email protected]/  PREPEND Reply-To: [email protected]

[电子邮件保护]是转发地址。如果有人发送电子邮件至[电子邮件保护],它会转发到许多其他地址。但是,我希望回复行是[电子邮件保护],因此所有回复都会发送给所有人。

我的行可以正常工作,但问题是它添加了两次“回复”标头。我怀疑邮件服务器正在接收邮件,在前面添加行,然后向每个收件人发送电子邮件,再次添加行。我试过这个:

if /^To: [email protected]/
!/^Reply-To: [email protected]/  PREPEND Reply-To: [email protected]
endif

这里的逻辑是‘如果这将[电子邮件保护]并且 Reply-To 标头不是[电子邮件保护],然后添加 Reply-To 标头。问题是,这仍然不起作用。它添加了两次 Reply-To 标头。

我的理解是,postfix header_checks 无法确定标头是否存在,只能确定其内容是什么。我不知道如何让此标头只进入一次。

答案1

好的,我现在有一个可行的解决方案。在 /etc/postfix/main.cf 中,请确保有此行:

header_checks = pcre:/etc/postfix/header_checks.pcre

请注意,这以 header_checks 开头,而不是 smtp_header_checks。然后,在此文件内:

/^To:.*board@example\.org/ PREPEND Reply-To: <[email protected]>
/^(Reply-To:.*)board@example\.org/ IGNORE

就是这样。如果电子邮件要发送到特定地址,请添加 Reply-To 标头。此外,如果 Reply-To 标头已经是您想要的,则无需执行任何操作。

我不知道为什么它会这样工作,尽管没有嵌套条件,尽管顺序似乎不正确,但在尝试了很多选项之后,这个对我来说一直有效。我希望这对你也有帮助。

相关内容