我最近在我的 VPS 上设置了自己的邮件服务器(CentOS、postfix 和 dovecot,尽管我认为这些都不相关)。我使用此 SPF 记录保护了它
v=spf1 mx a ip4:xx.xx.xx.xx/32 -all
其中 xx.xx.xx.xx 是我家的 IP 地址。
这通常有效,但有一个收件人我无法发送邮件。我收到以下退回邮件:
Reporting-MTA: dns; mdfmta004.tbr.inty.net
X-Postfix-Queue-ID: 5016BA0C08A
X-Postfix-Sender: rfc822; (my email address)
Arrival-Date: Tue, 17 May 2016 13:51:34 +0100 (BST)
Final-Recipient: rfc822; (destination email address)
Original-Recipient: (destination email address)
Action: failed
Status: 5.0.0
Remote-MTA: dns; mxa.speednames.com
Diagnostic-Code: smtp; 550 "Mail from (my domain) is denied from host
91.221.168.45 SPF"
很公平的是,它拒绝来自 91.221.168.45 的邮件,因为该 IP 地址与我的 SPF 记录不匹配。但该地址解析为 mdfmta004.mxout.tbr.inty.net:它与拒绝它的 MTA 位于同一个域中。
有人能向我解释一下我必须做什么才能发送给这个收件人吗?
答案1
在定义谁可以代表您的域名发送邮件时,SPF 是一个很好的工具。不幸的是,在转发邮件时会出现一个问题。
假设您的邮件服务器是 A。您将一封电子邮件发送到托管在邮件服务器 B 上的域。A 在您的 SPF 记录中被列为授权发件人。当 B 上的收件人决定将邮件转发到服务器 C 上的另一个邮件帐户时,C 收到电子邮件时将评估 SPF 记录。通常,转发电子邮件时发件人的地址不会更改。因此,邮件服务器 C 将检查 B 是否被授权代表您的域发送邮件。
基本上,您可以执行以下操作:
1) 与收件人沟通,让他意识到问题所在。除了转发,在 C 上设置轮询来查看 B 上的邮箱也是一种选择
2) 如果收件人是您无法要求更改的人,并且您需要经常向他们发送电子邮件,则可以将邮件服务器 B 添加到您的 SPF 记录中。这意味着您相信 B 永远不会滥用该星座。在 SPF 的上下文中,这称为“受信任的转发器”。
像我的公司这样的商业服务 - 请参阅http://spf.guru/- 允许监控 SPF 并了解谁代表您发送。