几个月前,我在一台 Centos 机器上设置了一个域名、SMTP 邮件服务器等,其中包括如下 PTR 记录:
pop PTR XX.XX.XX.XX.
www PTR XX.XX.XX.XX.
mail PTR XX.XX.XX.XX.
一切看起来都很好,并且它通过了 mxtoolkit 和 intodns 等工具的标准检查。
从那时起,我遇到了一些域名屏蔽我的电子邮件的问题,我认为问题已经缩小到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,但它检查的是发件人地址,而不是退回地址。
我们保留的您当前的 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
答案1
您的 SPF 记录如图所示,v=spf1amxip4:XX.XX.XX.XX?all
由于记录中有引号,因此应读作。这不会被识别为 SPF 记录。您希望您的 SPF 记录v=spf1 a mx ip4:XX.XX.XX.XX ?all
中不包含所有引号。如果您的 SPF 记录中有引号,请将其删除或在引号中添加空格。
您可能想要在公共 DNS 上搜索您的 SPF 记录,以8.8.4.4
查看正在传播的内容。