SPF 宏是一种有效而重要的发件人策略框架功能,当域名所有者需要更动态和可扩展的 SPF 记录来验证其电子邮件域名时,就会使用该功能。SPF 宏功能是 SPF 记录语法的一部分SPF 宏功能是 SPF 记录语法的一部分,定义了由需要 SPF 验证的单个电子邮件元数据替换的字符序列。这反过来有助于创建简化的 SPF 记录,避免生成冗长复杂的 SPF 记录。
PowerDMARC 设计了备受赞誉的 SPF 管理解决方案 - PowerSPF。 PowerSPF利用SPF 扁平化和 SPF 宏技术,为 SPF 验证和记录优化提供了广泛的灵活性。多年来,PowerSPF 凭借其易用性和有效性成为客户的最爱。
要了解更多信息,您可以访问 IETF 官方文档.
SPF 宏解释
SPF 宏是一种字符序列,可用于替换所述 SPF DNS TXT 记录中定义的机制,从而简化 SPF 记录配置,如RFC 7208 第 7 节所述。
SPF 记录大多比较简单,可以使用 SPF 机制、限定符和修饰符向收件人服务器发出指令,说明如何处理来自您的域名的非法电子邮件。不过,在某些情况下,SPF 机制并不足够,必须使用 SPF 宏。
SPF 宏用百分号 (%) 表示,包括两个或多个字母、修饰符和分隔符的组合。在 SPF 验证过程中,SPF 宏会被评估并替换为相应的值,详见
例如,%s 和 %d 分别表示发件人地址和与被检查身份相关的域名。
r、l 或 o 等修饰符用于提取地址或域中的特定元素,而 - 或 .等分隔符则有助于分隔宏中的不同元素。
SPF 宏的类型
SPF 宏由不同的单个字母或字符表示,这些字母或字符由大括号 { } 括住,并以百分号 (%) 作为前缀,表示 SPF 记录中的特定机制。以下是核心宏。
- %{s}: The “s” Macro represents the sender’s email address. Example- [email protected].
- %{l}: It’s used to denote the local part of the sender. Example- Mark.
- %{o}: This highlights the sender’s domain. Example: domain.com.
- %{d}: Similar to “o”, this Macro represents the authoritative sending domain. In most cases it is the same as the sender’s domain however, it may differ in some cases.
- %{i}: It’s used to extract the IP address of the sender of the message, e.g. 192.168.1.100
- %{h}: The hostname specified by the HELO or EHLO command used during the SMTP connection when the message is being sent is referred to by the %{h} macro.
可以在记录中指定的宏还有很多,不过我们列出了一些常见的宏。
SPF 宏如何工作?
通过 SPF 宏,域名所有者可以在其 SPF 记录中指定对某些机制的引用,从而取代这些机制。在接收 MTA 的 DNS 查询中,引用将被用于提取机制并扩展您的记录,从而帮助创建更易于管理和适应的 SPF 记录。
以下是 SPF 记录中使用宏的示例
“v=spf1 include:%{i}_.%{d}._spf.powerdmarc.com ~all”
- 这里 include:机制包含 SPF 宏。
- SPF 宏有两个,每个由百分号、左大括号、宏字母和右大括号组成的字符序列表示。在上例中,%{i} 表示发件人的 IP 地址,%{d} 表示 "MAIL FROM "命令中的发件人域。
- 将 192.168.1.100 IP 视为发送域的 IP 地址,当从该 IP 发送电子邮件时,接收服务器会启动 DNS 查询,以查找该域的 SPF DNS 记录
- 接收方查找发送域的 SPF 记录时,会遇到 SPF 宏,然后用相应的值替换这些宏。
- 然后会对扩展后的 SPF 记录进行检查,以确定电子邮件是成功通过 SPF 验证,还是未通过检查。
SPF 记录中何时使用宏?
根据域名所有者的需求,SPF 宏可用于各种不同的情况。如果您想简化复杂的电子邮件验证基础架构、使用多个第三方电子邮件处理服务,或者只是想减少 SPF 记录的大小,它们就能派上用场。
以下是 SPF 宏可以证明其优势的一些常见情况:
拥有多域基础设施的组织
运营多个域的企业级组织最适合使用 SPF 宏,尽管各种规模的组织都可以使用。与传统的扁平化方法相比,宏提供了更大的灵活性和更有效的 SPF 记录优化,以确保 SPF 即使在多域环境中也能无缝运行。此外,您还无需创建多个 SPF 记录。
大型电子邮件基础设施
拥有复杂电子邮件基础架构的公司可能需要采用多种 SPF 机制,最好使用 SPF 宏进行优化。这些宏将提供一种定义机制引用的方法,确保记录不会太长,并保持在 RFC 规定的512 个八位字节的长度。
第三方服务
由于 SPF 宏的加入,使用多家第三方电子邮件供应商的企业现在可以高枕无忧了,因为 SPF 宏可以轻松优化第三方电子邮件,同时确保您的记录不会超出 DNS 和无效查询的允许限制。
企业利用 SPF 宏解决 SPF 挑战
您可以在一条记录中包含多个 SPF 宏,并消除在手动或使用 SPF 检查程序.以下是您可能要做的事情:
1.防止过长的 SPF 记录导致 Temperror
当您的 SPF 记录有多个 include:语句时,可以防止记录过长。不过,这并不是永久性的解决方案。通过在域名 SPF 设置中使用 SPF 宏,可以避免记录超过 RFC 规定的 DNS TXT 记录长度限制(512 个字符)。
2.限制 DNS 和 Void 查询并减少 Permror
使用多个第三方发送源和电子邮件供应商的组织很容易超出 RFC 规定的 DNS 查询限制。这是因为每个供应商都会添加至少一个或多个查询。这可能会导致您的 SPF 记录被破坏,造成 SPF 错误.
通过使用 SPF 宏来添加对这些外部供应商的 IP 地址或域的引用,您可以限制未经授权的来源,同时确保不超出查询限制。
利用 PowerSPF 在 SPF 设置中使用宏的优势
SPF 宏已得到 MTA 的广泛支持,从而在 SPF 验证、记录创建和管理方面实现了动态性和可扩展性。PowerSPF 无缝集成了 SPF 宏,因此我们的客户可以更灵活地生成 SPF记录。
为什么仅平整 SPF 记录还不够?
在大多数情况下,传统的SPF 扁平化方法在涉及中小型组织、设置较简单和 SPF 机制数量较少的情况下证明是有效的。然而,当机制数量增加时,情况可能会变得越来越棘手,从而导致以下不利情况:
- DNS 查询次数最多可达 10 次
- 最后一条 DNS 记录的长度可能超过 512 个字符(TXT DNS 记录的最大允许大小)。
- 授权 IP 和发送源公开可见,引发隐私问题
SPF 宏 - 一种更好的方法
与典型的扁平化方法相比,SPF 中的宏可以帮助您更有效地优化和管理记录。具体方法如下
- SPF 中的宏限制了您的 DNS 和无效查询,使其分别保持在 10 次和 2 次的最大限制范围内。
- 它能保持记录的字符长度,确保不会超过 512 个字符的限制。 512 个字符
- 授权 IP 和发送源被字符引用所取代,使其不为公众所知
SPF 扁平化与 SPF 宏
初始 SPF 记录(5 次查询) | SPF 宏(1 次查询) | SPF 扁平化(2 次查询) |
v=spf1 include:_spf.google.com include:zcsend.net -all | v=spf1 exists:%{i}.abcde12345.macrospf.powerspf.com -all | abcde12345.powerspf.com:
v=spf1 ip6:2c0f:fb50:4000::/36 ip6:2a00:1450:4000::/36 ip6:2800:3f0:4000::/36 ip6:2607:f8b0:4000::/36 ip6:2404:6800:4000::/36 ip6:2001:4860:4000::/36 ip4:74.125.0.0/16 ip4:35.191.0.0/16 ip4:173.194.0.0/16 ip4:209.85.128.0/17 ip4:72.14.192.0/18 ip4:64.233.160.0/19 IP4:216.58.192.0/19 IP4:216.239.32.0/19 IP4:172.217.192.0/19 IP4:172.217.128.0/19 IP4:172.217.0.0/19 IP4:108.177.96.0/19 ip4:66.249.80.0/20 ip4:66.102.0.0/20 ip4:172.253.112.0/20 ip4:172.217.32.0/20 include:_s1.abcde12345.powerspf.com -all _s1.abcde12345.powerspf.com: v=spf1 ip4:172.217.160.0/20 ip4:172.253.56.0/21 ip4:108.177.8.0/21 ip4:130.211.0.0/22 ip4:136.143.160.0/23 ip4:135.84.82.0/23 ip4:35.190.247.0/24 ip4:165.173.128.0/24 ip4:135.84.81.0/24 -all |
立即尝试我们的 SPF 解决方案 联系我们与经验丰富的域名和电子邮件安全专家进行一对一演示!
- 什么是 MTA-STS?设置正确的 MTA STS 政策- 2025 年 1 月 15 日
- 如何修复 DKIM 故障- 2025 年 1 月 9 日
- 什么是 DMARC 策略?无、隔离和拒绝- 2025 年 1 月 9 日