我正在我的 VPS 上设置邮件服务器,为了防止垃圾邮件和被标记为垃圾邮件,我启用了 SPF、DKIM 和 DMARC。但是,我不想托管自己的邮箱,因此我将收到的邮件转发到外部邮件帐户,例如 Gmail。转发的问题在于它破坏了 SPF 检查。这可以通过使用 SRS 来解决,它会重写发件人地址以匹配邮件服务器的地址。
发送邮件时,我已将 Gmail 配置为通过我的邮件服务器发送邮件。在这种情况下SPF、DKIM和DMARC都会通过,但前提是SRS被禁用,否则SRS会导致发送地址域不再与FROM头域匹配,这是DMARC通过的要求。
所以我的问题是,如何在转发时启用 SRS,但在发送时阻止它启用?
这里有更多的上下文。邮件服务器运行 Ubuntu 12.04 LTS 并使用以下软件:
据我了解,有些邮件客户端需要 PTR、MX、EHLO 和邮件横幅来引用同一个域。因为我的 VPS 不仅仅用于邮件服务器,所以我选择将这些设置为我的 VPS 的主机名,比如说 vps.tld。
要启用 PostSRSD,您必须将以下行添加到/etc/postfix/main.cf:
sender_canonical_maps = tcp:127.0.0.1:10001
sender_canonical_classes = envelope_sender
recipient_canonical_maps = tcp:127.0.0.1:10002
recipient_canonical_classes = envelope_recipient, header_recipient
Run Code Online (Sandbox Code Playgroud)
但这将在一般情况下启用 SRS,而不仅仅是在转发时。似乎这是邮件服务器的常见用例,所以我希望有一个解决方案。
编辑:
这是postconf -n按要求的输出:
alias_maps = hash:/etc/postfix/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
milter_default_action = accept …Run Code Online (Sandbox Code Playgroud)