在教程中我找到了 SPF 的示例记录,但没有解释 a 和 include 关键字。我在互联网上找不到关于它们的准确信息。
v=spf1 mx a ptr ip4:46.16.60.0/23 a:cdmon.com include:srv.cat ~all
答案1
让我逐段地解释一下:
v=spf1
:SPF 版本 1(v=版本)a
:来自具有相应一个记录在相关域名上。ptr
:已弃用,不应使用- 看https://www.rfc-editor.org/rfc/rfc7208#section-5.5ip4:46.16.60.0/23
:源自指定 CIDR 范围内的电子邮件服务器。a:cdmon.com
:源自在指定区域(cdmon.com)上具有相应 A 记录的电子邮件服务器(IP)。include:srv.cat
:包括来自指定区域/记录的 SPF 记录。~all
:如果 SPF 未通过(未满足指定的条件),则指示电子邮件服务器“软失败”
答案2
- “A”关键字:这将添加属于同一域的 A 或 AAAA 记录的 IP 地址。另请参阅有关“a”机制的 RFC:https://www.rfc-editor.org/rfc/rfc7208#section-5.3
<ip>
如果是 的 IP 地址之一,则此机制匹配。为清楚起见,这意味着“a”机制也匹配 AAAA 记录。 - 包括keyword:这包括指定域的 SPF 记录。RFC 对此表示:
“包含”机制触发了的递归评估
check_host()
。按照第 7 节进行扩展。
check_host() 的求值结果为 。 和 参数与 check_host() 的当前求值相同。
递归评估返回匹配、不匹配或错误。
如果返回匹配,则使用“包含”机制的适当结果(例如,include 或 +include 产生“通过”结果,而 -include 产生“失败”)。
如果返回不匹配或错误,父 check_host() 将按照下表恢复处理,并使用先前的恢复值。
[...]
“包含”机制使一个域可以指定多个管理上独立的域。例如,虚荣域“example.net”可以使用管理上独立的域 example.com 和 example.org 的服务器发送邮件。