我需要一些帮助来设置 SPF 记录。当我像这样创建 SPF 记录时:
v=spf1 a mx include:_spf.google.com include:getresponse.com ~all
当我运行这个进行测试时:
https://toolbox.googleapps.com/apps/checkmx/check?domain=workwithchrisonline.com&dkim_selector=
显然它给了我一个错误:SPF 记录必须采用正确的格式。
我也尝试过这个:
"v=spf1 +a +mx +ip4:104.xxx.xxx.xxx +include:_spf.google.com +include:getresponse.com ~all"
我不知道为什么会出现错误。你能帮我解决这个问题吗?
答案1
简短回答:您的 SPF 记录有太多 DNS 查找。您已将 getresponse.com 包含在您的 SPF 记录中,而该记录又在其 SPF 记录中拥有自己的包含记录,需要进行额外的查找。
根据SPF 请求
SPF 实现必须将执行 DNS 查找的机制和修饰符的数量限制为每次 SPF 检查最多 10 个,包括因使用“包含”机制或“重定向”修饰符引起的任何查找。
您可以在更新 DNS 之前使用以下 URL 测试/验证您的 SPF 记录:https://www.kitterman.com/spf/validate.html
您可以在以下网址输入您的域名,查看您的 SPF 记录进行了多少次 DNS 查找:https://emailstuff.org/spf/check。在您的情况下,您的 SPF 记录导致 13 次 DNS 查找,这显然大于 10。
如果您不需要 getresponse.com 那么我建议将其删除。
v=spf1 a mx include:_spf.google.com -all
我还建议您阅读 SPF 记录中 ~、-、+ 和 ? 之间的区别。有关详细解释,请参阅openspf.org。验证 SPF 后,您需要将 ~all 更改为 -all,以严格执行 SPF 规则。使用 ~all,其他服务器仍可以使用您的域发送电子邮件。