SPF验证对于提高电子邮件送达率和保护您的域名免受 网络钓鱼和垃圾邮件 攻击。不过,SPF 设置比较复杂,在配置时可能会出错。修正并避免这些常见错误,可确保不会出现误报,并且 DMARC合规性。
主要收获
- 每个域只能有一条 SPF 记录,以避免交付问题。
- 超过 10 次 DNS 查询的限制会导致 SPF 验证失败。
- all "机制应位于 SPF 记录的末尾,以确保功能正常。
- 避免使用 "ptr "机制,因为不鼓励使用这种机制,它可能会导致性能问题。
- SPF 记录需要仔细研究并提供准确信息,以确保邮件的正确投递。
配置SPF设置时应避免的7个常见错误
一些 DNS 机制用于说明允许发送电子邮件的系统 IP,并提供电子邮件返回路径地址。但使用不当会导致错误,如超过 SPF 记录的大小、超过 10 次 DNS 查询、超过 2 次未解决的 DNS 查询等。
我们列出了常见的 SPF 错误,以帮助您在配置 SPF设置时避免这些错误。
错误1:多个SPF记录
每个域名应该有一个 SPF 条目,否则接收服务器会拒绝这两个条目。移除当前不使用的 SPF 条目,例如--具有活跃 SPF 条目的过时服务。
你可以通过将两条或多条记录合并为一条来解决这个SPF设置错误。比方说,一个用户域有一条SPF记录,包括一个Elastic Email SPF条目,但没有通过验证检查。这可能的原因是该域名上有两条记录。
v=spf1 a mx include:_sampledomain1.com include:_spf.elasticemail.com ~all
v=spf1 a mx include:_sampledomain2.com ~all
你可以通过将它们合并成一条记录来解决这个问题,比如:
v=spf1 a mx include:_sampledomain1.com include:_sampledomain2.com include:_spf.elasticemail.com ~all
错误2:过多的DNS查询
有一个10个 "包括 "查询的限制,这意味着你不能产生超过10个对其他域的引用。参数 "include"、"a"、"mx"、"ptr"、"existence "和 "redirect "的每一次出现都会产生一个查询。此外,如果在一个''中提到的域包括'中提到的域包含另一个参数,它也会被计入10个查询限制。所以,在配置SPF设置时,超过查询限制是最常见的错误之一。
你可以解决这个问题,删除'包括'和对非活动域的引用。
利用 PowerDMARC 简化安全性!
错误3:放任自流 所有机制
一条SPF记录从左到右被解释,而'全部 机制将与'所有发件人,但不符合前面的机制。我们建议把 'all' 放在所有机制放在 SPF 记录的末尾,并与 ~ (softfail) 或 - (fail) 前缀一起使用。当没有设置前缀时,默认使用 + (pass)。
错误4:使用 ptr机制
SPF的'ptr机制用于反向DNS查询,将主机名返回到其对应的IP地址。这种信息对B2B品牌尤其有帮助。但这种机制有可靠性问题,并对反向DNS服务器和与之相连的电子邮件系统造成负担。
这就是为什么RFC7208不鼓励使用'ptr 机制。在大多数情况下,你可以用 'a' 来代替它。a'机制来代替。
错误5:使用 mx机制
使用 'mx 用域名而不是邮件服务器名称。说明 mx:mailserver.sample.com 被认为是不正确的,除非你真的需要 SPF 验证来查找所有接受 'mailserver.sample.com' 域名邮件的主机。在大多数情况下,不会有这样的主机,因为'mailserver.sample.com'本身就是一个主机而不是一个域。
你不会遇到这种语法错误,但它不会简单地匹配任何东西。
对'sample.com'的MX记录进行验证的正确方法是 mx:sample.com。 当你要定义某个邮件服务器的主机名或IP地址时、 a:mailserver.sample.com或ip4:x.x.x.x应该被使用。
错误6:在没有适当研究的情况下创建一个SPF记录
这对ISP来说尤其如此。不要用关于域名、它的所有者和它所属的品牌的一半信息创建记录。研究他们使用什么电子邮件服务器,否则你可能最终会阻止他们从办公室内的邮件服务器发出的电子邮件传递路径。
错误7:错别字
通过仔细检查 SPF 记录中的错别字,避免在配置 SPF 设置时犯常见的错误。你可能输入了'inlcude'而不是'include'。这可能会使整个记录无效。
错误8:没有为你的电子邮件服务器使用的HELO名称发布SPF记录
Verifying HELO or EHLO names is encouraged by the SPF RFC. HELO or its developed version EHLO is used when Mail from is <> despite the recipient’s failure in doing 100% HELO checking.
发布HELO协议包括生成一个与你的邮件服务器使用的HELO FQDN相对应的SPF记录。比如说 mailserver.sample1.com
一般来说,它应该是一个完全不同的SPF规则,与检查与 "sample1.com "链接的域名中的发件人地址的规则不同。
错误9:TXT记录内容没有用双引号显示
DNS TXT 记录的内容总是包含在双引号("-")中,但这些双引号绝不应成为实际 DNS 记录内容的一部分。这些引号仅用于显示目的,因为它们有助于分隔 TXT 记录内容的开始和结束。
一个SPF记录的开头应该是 v=spf1 开头,但如果它以 "v=spf1开头,它就根本不会被识别。
仍然是一个问题?
SPF设置的每一次改变都需要一些时间在互联网上传播。它可能需要长达72小时的时间。但如果你仍然面临任何问题,请使用我们免费的 SPF记录检查器工具,或者联系我们的专家团队 [email protected].
- 微软加强电子邮件发件人规则:您不应错过的关键更新- 2025 年 4 月 3 日
- DKIM 设置:为电子邮件安全配置 DKIM 的分步指南 (2025)- 2025 年 3 月 31 日
- PowerDMARC 被《2025 年 G2 春季报告》评为 DMARC 网格领导者- 2025 年 3 月 26 日