Port25.com SPF 测试失败,gmail SPF 通过

hof*_*lie 3 domain-name-system email smtp spf

port25.com通过发送电子邮件到
check-auth@verifier.port25.com使用的漂亮小工具测试我的 SPF 记录时,我得到以下 FAIL 结果:

==========================================================
Details:
==========================================================

HELO hostname:  avantgardeweb.co.uk
Source IP:      2002:2e20:e862::2e20:e862
mail-from:      user@greenshieldsarchitecture.co.uk

----------------------------------------------------------
SPF check details:
----------------------------------------------------------
Result:        fail (not permitted)
ID(s) verified: smtp.mailfrom=user@greenshieldsarchitecture.co.uk
DNS record(s):
    greenshieldsarchitecture.co.uk. SPF (no records)
    greenshieldsarchitecture.co.uk. 14400 IN TXT "v=spf1 mx a -all"
    greenshieldsarchitecture.co.uk. 14400 IN MX 10 mail.greenshieldsarchitecture.co.uk.
    mail.greenshieldsarchitecture.co.uk. AAAA (no records)
    greenshieldsarchitecture.co.uk. AAAA (no records)
Run Code Online (Sandbox Code Playgroud)

但是,当我实际向 gmail 帐户发送电子邮件时,它会通过:

Received-SPF: pass (google.com: domain of user@greenshieldsarchitecture.co.uk designates 46.32.232.98 as permitted sender) client-ip=46.32.232.98;
Authentication-Results: mx.google.com;
   spf=pass (google.com: domain of user@greenshieldsarchitecture.co.uk designates 46.32.232.98 as permitted sender) 
Run Code Online (Sandbox Code Playgroud)

任何人都可以在这里说明一下吗?

小智 5

您发送到 port25.com 的测试电子邮件似乎是通过 IPv6 连接(或 IPv6 源)到达的,因此 SPF 客户端查找 DNS AAAA RR,而不是通常与 IPv4 源一起使用的 A RR。这就是 SPF 应该如何工作(请参阅 RFC7208 第 5.5 节),但是由于您的域缺少 AAAA 记录,因此“mx”和“a”机制都不匹配,并且 SPF 评估以“-all”结束。在 gmail 的情况下,连接是从 IPv4 地址建立的,因此“mx”或“a”匹配。

如果您使用的是 IPv6,只需为 mail.greenshieldsarchitecture.co.uk 设置 AAAA 记录,即可解决问题。