几个月前,我在 Centos 机器上设置了域、SMTP 邮件服务器等,包括如下所示的 PTR 记录:
pop PTR XX.XX.XX.XX.
www PTR XX.XX.XX.XX.
mail PTR XX.XX.XX.XX.
一切似乎都很好,并且通过了 mxtoolkit 和 indns 等工具的标准检查。
从那时起,我遇到了一些阻止我的电子邮件的域的问题,我认为我已经将其缩小为HELO 主机名和 mx 记录之间不匹配的错误,我认为我已经解决了这个问题。
在诊断问题时,我使用工具https://www.mail-tester.com检查我的外发电子邮件是否存在垃圾邮件过滤器可能不喜欢的问题,它发现了一对令人惊讶的问题:
发件人策略框架 (SPF) 是一种电子邮件验证系统,旨在通过验证发件人 IP 地址检测电子邮件欺骗(一种常见漏洞)来防止垃圾邮件。
我们保留为您当前 SPF 记录的内容是:
v=spf1" "a" "mx" "ip4:XX.XX.XX.XX" "?all
我们在您的服务器上找到了一个 SPF 条目,但它仍未传播。
如果您最近修改了 DNS,请等待几个小时,然后再次测试。
my-domain.com:没有可用的适用发件人政策
并且,除了第一行之外相同:
发件人 ID 类似于 SPF,但它检查的是 FROM 地址,而不是退回地址。
我们保留为您当前 SPF 记录的内容是:
v=spf1" "a" "mx" "ip4:XX.XX.XX.XX" "?all
我们在您的服务器上找到了一个 SPF 条目,但它仍未传播。
如果您最近修改了 DNS,请等待几个小时,然后再次测试。
my-domain.com:没有可用的适用发件人政策
这对我来说没有多大意义。我已经好几个月没有改变我的 PTR 了。
我可以采取哪些措施来强制传播?
我已经看到SPF 记录中的更改是否需要时间来传播?这是第一个答案所暗示的结果。在我看来一切都很好。
dig +short @XX.XX.XX.XX -t TXT my-domain.com
"v=spf1" "a" "mx" "ipXX.XX.XX.XX" "?all"
[admin@vps ~]$ dig +short @XX.XX.XX.XX -t SOA my-domain.com
ns1.my-domain.com. root.my-domain.com. 2015120908 7200 3600 1209600 180
v=spf1amxip4:XX.XX.XX.XX?all
由于记录中的引号,您应该将显示的 SPF 记录读取为。这不被识别为 SPF 记录。您希望您的 SPF 记录v=spf1 a mx ip4:XX.XX.XX.XX ?all
不包含所有引号。如果您的 SPF 记录中有引号,请删除它们或在其中添加空格。您可能想在公共 DNS 上搜索您的 SPF 记录,
8.8.4.4
以查看正在传播的内容。