我正在尝试通过 Postfix 中继邮件并更改发件人地址,同时通过 DKIM/DMARC 验证。
所以如果我从[电子邮件保护]通过 Postfix 中继(将其用作智能主机),它将按预期将电子邮件中继到目的地。但我想更改发件人(发件人) 地址,因为它通过中继传递到[电子邮件保护], 在哪里域名B.com是中继的名称。
我尝试使用 PostSRSd,它确实会更改电子邮件,但不会更改发件人地址,因此当最终用户收到电子邮件时,它仍然显示来自[电子邮件保护],当最终用户回复时,它会返回到[电子邮件保护]。我希望它看起来来自[电子邮件保护],当最终用户回复它返回[电子邮件保护]。
另一个复杂因素是,我希望消息在到达最终用户时能够通过验证。我已与 RSPAMD 集成以启用 DKIM 和 ARC。
如果我使用 Postfix 中的标头重写 ( smtp_header_checks
) 来强制使用 Regexp 重写发件人标头,则最终用户的验证将失败,并且该消息将被标记为垃圾邮件。
请问有什么想法吗?
更新
所以我找到了一个可行的解决方案。我发现问题的一部分在于邮件签名 (DKIM) 的发生前发件人(发件人地址)的变更,或者用 Postfix 术语来说,排队前。
因此,我将问题拆分到两个 Postfix 实例中。第一个实例更改发件人地址,并将邮件转发到第二个 Postfix 实例。该实例使用 DKIM 对邮件进行签名,并使用更改后的发件人地址,然后最终用户收到电子邮件并通过验证,因为该邮件已正确签名。
理想情况下,我会在一个 Postfix 实例中完成所有操作,但我可以接受这种解决方法。
如果有人有其他想法,请告诉我!