Gmail SPF失败,基于客户端IP


8

Gmail无法通过基于客户端IP的SPF检查。这些是相关的标头:

Received-SPF: fail (google.com: domain of johndoe@example.com does not designate 164.77.240.58 as permitted sender) client-ip=164.77.240.58;
Received: from johndoe (unknown [164.77.240.58])
    by mail.example.com (Postfix) with ESMTP id 993643FE2D

客户端IP(164.77.240.58)是johndoe计算机的IP。SPF记录中包含发件人IP(mail.example.com的IP)。

为什么Gmail失败基于客户端IP而不是发件人IP?SPF应该是这样工作的吗?


我希望他们对“客户端IP”的引用仅是指连接到其SMTP服务器的客户端。(这将是你所期望的,AFAICT?)
哈坎·林奎斯特

3
您还可以Received添加Gmail添加的标头,以澄清他们实际从何处接收邮件吗?
哈坎·林奎斯特

@HåkanLindqvist其他收到的头文件只能说by <google IP>
马克斯·托罗

通过IMAP将邮件导入gmail时,我们也遇到类似的问题。问题一(不太相似):当我们在两个本地邮箱(例如a@example.com)到b@example.com(但使用SMTP端口25)之间发送电子邮件时,Gmail会导入该邮件,并在客户端IP而非服务器上进行SPF检查。serverfault.com/q/669584问题二(更相似):当某人向我们发送带有ESMTP标头的电子邮件时,Gmail会将其导入并使用其服务器域和我们的服务器IP进行SPF检查。serverfault.com/q/670113
Zbyszek

Answers:


4

首先,提取example.com的spf记录:

$ dig -t spf mail.example.com

确认example.com在发件人列表中。您的spf记录应如下所示:

"v=spf1 a:mail.example.com a:cname.example.com -all"

获取列出的任何域名,并对它们进行DNS查找以获取IP地址:

$ dig mail.example.com

然后执行PTR查找以获取IP的反向DNS名称:

$ dig -x XX.XX.XX.XX

反向IP查找应与spf记录中列出的记录之一匹配。尽管从spf记录开始会很有帮助,所以我们可以看到发生了什么。


3
itym dig example.com TXT。而且,只要SPF记录不使用该ptr方法,我就不认为反向查找对SPF会有任何影响。
哈坎·林奎斯特

2

是的,Google可以正确识别SPF失败。应该检查的IP地址是连接到Google邮件服务器的地址。由于没有收到Google标头,我怀疑您的邮件服务器正在检查连接上的SPF。它应该仅检查SPF是否有来自Internet的未经身份验证的连接。本地连接和经过身份验证的连接应绕过SPF验证。

SPF旨在确保发送计算机被发送域允许。通常,一个域将具有1或2个邮件服务器,用于处理所有发送到Internet或从Internet接收的电子邮件。这些地址应该是域的SPF记录中列出的地址。

在这种情况下,johndoe似乎正在连接到域的邮件服务器。如果服务器不在域的网络上,则通常在提交端口上使用经过身份验证的连接(587)。然后,邮件服务器应将邮件转发到gmail,SPF应该可以通过。如果SPF仍然失败,则需要更正SPF记录以包括邮件服务器的IP。有几种可以使用的机制。

我的电子邮件政策可确保从我的域发送的所有合法邮件都将通过SPF。有一些服务可以代表我的用户转发邮件,而这些邮件将无法通过SPF。但是,从服务器验证中收到的记录的故障DMARC全部都是垃圾邮件发送者。


2
邮件服务器IP包含在SPF记录中。那就是发送者的IP。但是Gmail拒绝基于客户端IP(即johndoe的计算机)。
Max Toro 2014年

@MaxToro根据Received标头,johndoe的计算机直接发送到Google。它没有PTR记录,所以未知。如果johndoe的计算机通过了Google的身份验证,这将很奏效。
BillThor 2014年

不,那是从johndoe的计算机接收的mail.example.com。
Max Toro 2014年

@MaxToro您确定不是服务器拒绝SPF记录吗?最近有效的政策是Google的政策。您的邮件日志应告诉您是否正在尝试发送给Google。
BillThor 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.