SPF 记录生成器

选择域名的发件人:它自己的地址和邮件服务器、它发信所用的网段,以及任何被包含的服务商。页面会写出 SPF 记录,把 DNS 查询次数与上限10对照,并在记录过长时将其拆分为字符串。

免费 在浏览器中运行 核对于2026年11月10日星期二

添加 a 项:发件服务器的地址位于域名自身的地址记录中。

每行一个主机,例如 web.example.com。每个主机添加一个 a 项和一次查询。

添加 mx 项:发件服务器属于该域名所指定的邮件服务器之一。

每行一个名称,例如 mx.example.net。每个名称添加一个 mx 项和一次查询。

每行一个,例如192.0.2.1或 192.0.2.0/24。不占用查询次数。

每行一个,例如2001:db8::1或2001:db8::/32。不占用查询次数。

每行一个域名,例如 _spf.example.net。每个域名都使用其自身的 SPF 记录,并占用一次查询。

未被上述任何项匹配的发件方的结果。-all 是严格的选择。

结果

DNS 查询次数(上限10) — 统计 a、mx 与 include 项。被包含记录内部的查询不在此计算。
字符数 — 记录文本的长度。
TXT 字符串 — 每个字符串最多包含255个字符。
SPF 记录(TXT)
拆分为 TXT 字符串

记录的读法

此工具在您的浏览器中运行。您输入的内容不会发送给我们。

使用方法

  1. 如果域名自己发送邮件,请勾选 “a:域名自身的地址” 与 “mx:域名自身的邮件服务器”。
  2. 在 “IPv4 网段” 与 “IPv6 网段” 中输入服务器所在的网段,在 “包含以下域名” 中输入任何服务商的域名。
  3. 在 “其他所有发件方” 下选择其他发件方的结果。-all 是严格的选择。
  4. 复制 “SPF 记录(TXT)”,并将其作为 TXT 记录发布在域名本身。确认 “DNS 查询次数(上限10)” 保持在10次或以下。

收件方如何读取 SPF 记录

SPF 记录是位于它所描述的域名上的 TXT 记录。它以 v=spf1 开头,然后列出各项:a、mx、ip4、ip6 与 include,每项可带一个可选的限定符。收件方从左到右检查它们,第一个匹配的项给出结果:+ 通过,- 失败,~ 软失败,? 中性。未写限定符时默认为 +(RFC 7208 第4.6.2节)。

  • all 匹配所有其他发件方,其后的项会被忽略(RFC 7208 第5.1节)。本页始终把 all 写在最后。
  • 没有任何项匹配且没有 redirect 时,结果为中性,如同记录以 ?all 结束(第4.7节)。

10次 DNS 查询的上限

a、mx、ptr、exists、include 与 redirect 项各占一次 DNS 查询,被包含记录所进行的查询也同样计入。收件方若为一次检查需要超过10次查询,就会返回错误(RFC 7208 第4.6.4节)。ip4 与 ip6 项不占用查询次数,因此公布网段范围的服务商可以写成 ip4 与 ip6 项,而不必使用 include。

长度与 TXT 字符串

TXT 记录中的一个字符串最多包含255个字符。较长的记录会写成多个字符串,收件方会不加空格地将它们连接起来(RFC 7208 第3.3节)。已发布的记录,其 DNS 应答应保持在512个八位组以内(第3.4节)。

示例:从自有服务器和一家服务商发信的域名

记录 v=spf1 a mx ip4:192.0.2.0/24 ip6:2001:db8:1::/48 include:_spf.example.net -all 允许域名自身的地址记录和邮件服务器发信,允许这两个网段发信,并允许 _spf.example.net 的记录所许可的发件方发信。其他所有发件方均失败(-all)。

a、mx 与 include 项各占一次查询,两个网段项不占用查询,因此该记录共进行3次查询。_spf.example.net 的记录会增加它自己的查询,本页不计入这些查询。

测量项 数值
记录 v=spf1 a mx ip4:192.0.2.0/24 ip6:2001:db8:1::/48 include:_spf.example.net -all
DNS 查询次数 3 / 10次 DNS 查询
字符数 78

常见问题

应该使用 -all 还是 ~all?

-all 告诉收件方,对记录未列出的每个发件方都判定为失败,因此它是严格的选择。~all 会把其他发件方标为软失败,许多域名在核对名单是否完整时使用它。若不能确定名单已经完整,请先从 ~all 开始。

为什么查询次数超过10的记录会失败?

收件方在一次检查中最多进行10次 DNS 查询,需要更多查询的检查会返回错误(RFC 7208 第4.6.4节)。请删除不再使用的 include,或把服务商公布的范围写成 ip4 与 ip6 项,它们不占用查询次数。

SPF 记录必须是单个字符串吗?

不必。TXT 字符串最多包含255个字符,较长的记录会发布为多个带引号的字符串,收件方会不加空格地将它们连接起来(RFC 7208 第3.3节)。本页的拆分输出显示了记录超过单个字符串长度时的各段字符串。

include 的作用是什么?

include:domain 告诉收件方,把该域名的 SPF 记录作为您记录的一部分进行检查(RFC 7208 第5.2节)。该记录的查询会计入您10次的上限,因此服务商的 include 可能占用的查询次数,会多于此处看到的一次。

只有 SPF 记录就能阻止伪造邮件吗?

不能。SPF 检查发送邮件的服务器,随后 DMARC 检查发件人一行中的域名是否与之相符(RFC 7489 第3.1节)。还应发布 DKIM 签名和 DMARC 策略。

这个生成器会把我的域名发送给任何人吗?

不会。记录在您的浏览器中根据您输入的内容生成,不会在网络上查询任何内容,也不会被存储。

资料来源

数据和文字最近核对于2026年11月10日星期二。

我们使用必要的 Cookie 来运行网站。经您同意后,Google 还会使用广告 Cookie 展示个性化广告。如果您拒绝,仍会看到广告,但广告不会个性化。