当我从应用程序发送电子邮件时,我收到 spf 中性错误。我一直在与 Google 和我的托管公司合作,但他们都无法解决这个问题。以下是我的 spf 记录。
"v=spf1 include:s920.tmd.cloud include:mx1.tmdhosting.com include:mx2.tmdhosting.com ip4:184.154.73.81 ip4:108.178.0.170 ip4:198.143.161.162 ip4: include:_spf.google.com ~all"
以下是电子邮件元数据的片段。
ARC-Authentication-Results: i=1; mx.google.com;
dkim=temperror (no key for signature) [email protected] header.s=default header.b=HRuHEiL6;
spf=neutral (google.com: 108.178.0.170 is neither permitted nor denied by best guess record for domain of [email protected]) [email protected]
Return-Path: <[email protected]>
Received: from mx1.tmdhosting.com (mx1.tmdhosting.com. [108.178.0.170])
by mx.google.com with ESMTPS id b67-v6si3713737ioj.9.2018.04.28.17.31.24
for <[email protected]>
(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Sat, 28 Apr 2018 17:31:24 -0700 (PDT)
Received-SPF: neutral (google.com: 108.178.0.170 is neither permitted nor denied by best guess record for domain of [email protected]) client-ip=108.178.0.170;
Authentication-Results: mx.google.com;
dkim=temperror (no key for signature) [email protected] header.s=default header.b=HRuHEiL6;
spf=neutral (google.com: 108.178.0.170 is neither permitted nor denied by best guess record for domain of [email protected]) [email protected]
Received: from [184.154.73.81] (helo=s920.tmd.cloud) by mx1.tmdhosting.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.89) (envelope-from <[email protected]>) id 1fCaFP-0005U5-6t for [email protected]; Sat, 28 Apr 2018 19:31:24 -0500
我确实需要一些帮助来建立我的 spf 记录。
提前致谢。
答案1
您IN SPF "v=spf1 include:s920.tmd.cloud include:mx1.tmdhosting.com include:mx2.tmdhosting.com ip4:184.154.73.81 ip4:108.178.0.170 ip4:198.143.161.162 ip4: include:_spf.google.com ~all"
遇到了几个问题。
- 使用
TXT
而不是SPF
(RFC 7208, 3.1)。 - 一般来说,您应该避免多次包含,因为每次 SPF 检查的 DNS 查询数量是有上限的。出于同样的原因,直接
ip4
和ip6
指令始终是最好的。 - 此处包含不包含 SPF 记录的内容。它们可能应该使用
a
机制。仅“包含”现有 SPF 记录。 - 你应该仅列出一次服务器,最好使用
ip4
。由于s920.tmd.cloud A 184.154.73.81
,mx1.tmdhosting.com A 108.178.0.170
&mx2.tmdhosting.com A 198.143.161.162
,a
可以删除以前的机制。 - 空
ip4:
的是句法错误。 - 虽然
+
forPass
是默认限定符,但我发现初学者更容易使用它,以避免与exists
/include
机制和redirect
/混淆exp
修饰符没有限定词。
我们可以假设您已经拥有了您想要的其余内容:
- 结果表明至少 MX
108.178.0.170
用于发送邮件,因此这三个 IP 地址可能都没有问题。 - 最后一项
include
允许 Gmail。我们假设您在此域中使用它。 ~all
软故障休息。我同意你不应该使用(严重)失败在您拥有更多有关 SPF 的经验并且可以确保它不会引起任何问题之前。
结果:
IN TXT "v=spf1 +ip4:184.154.73.81 +ip4:108.178.0.170 +ip4:198.143.161.162 include:_spf.google.com ~all"
答案2
您的域名实际上没有 SPF 记录。我不知道您把它放在哪里,但我和 Google 都找不到它。
$ host -t txt holyfirepublishing.com
holyfirepublishing.com has no TXT record
一旦您正确创建了 SPF 记录,其他邮件服务器就应该开始使用它。
答案3
Include
记录也必须是 spf txt 记录。如果这不是你的意图,你可以使用(mx
如果这些是你的 MX 记录)或a:host.exanple.com
允许host.example.com
请注意 10 条 DNS 记录的限制。mx
无论 MX 记录的数量有多少,都算作一条。
这些都是无效的:
包括:s920.tmd.cloud 包括:mx1.tmdhosting.com 包括:mx2.tmdhosting.com