【发布时间】:2017-01-14 23:21:10
【问题描述】:
我有 3 条 SPF 记录:
"v=spf1 include:spf.protection.outlook.com -all"
"v=spf1 a ptr include:authsmtp.com ?all"
"v=spf1 a mx include:spf.mtasv.net ~all"
如何将它们全部合并到一个 txt 记录中?
【问题讨论】:
我有 3 条 SPF 记录:
"v=spf1 include:spf.protection.outlook.com -all"
"v=spf1 a ptr include:authsmtp.com ?all"
"v=spf1 a mx include:spf.mtasv.net ~all"
如何将它们全部合并到一个 txt 记录中?
【问题讨论】:
合并后的记录如下所示:
v=spf1 a mx ptr include:spf.protection.outlook.com include:authsmtp.com include:spf.mtasv.net -all
您必须决定要使用哪种all 机制,因为您只能在 SPF 记录中拥有一个。我已经包含了-all,因为它是最严格的,并且应该使用它,除非存在从 SPF 记录中未列出的服务器发送有效邮件的风险。
您还应该考虑删除ptr 机制,因为不鼓励使用这种机制,因为它会给接收邮件服务器带来负担。
合并的记录也有可能达到 SPF 的 DNS 查找限制(10 个 DNS 查找)。由于前两个包含当前将导致每个额外的 2 个 DNS 查找,因此 DNS 查找的总数(如果 ptr 仍然存在)将是 10,这是限制。因此,如果其中一个包含的记录稍后添加额外的include,则对您的 SPF 记录的评估可能会导致“permerror”。
【讨论】:
-all 是如果您不使用 DMARC 的最佳选择。如果是,请使用~all。 ?all 毫无意义——这和没有 SPF 记录一样!