有什么不同?
答案1
几乎和其名称上描述的一模一样。
在第一种情况下,域 2 的 SPF 记录包含在域 1 的 SPF 记录中,但仍然可以进行修改,例如通过添加另一个不允许 domain2.com 的 A 主机:
"v=spf1 include:domain2.com a:othermailhost.domain1.com -all"
在第二种情况下,域 2 的 SPF 记录用作域 1 的完整 SPF 记录,并且无法进行进一步修改。
"v=spf1 redirect=domain2.com"
答案2
include:<domain>
意思是:将 的SPF记录复制<domain>
到找到该include的位置。
因此,如果您的 SPF 记录是a b c include:x d e f
,且 的 SPF 记录x
是1 2 3
,则生成的 SPF 记录是a b c 1 2 3 d e f
。
redirect=<domain>
意思是:处理完现有 SPF 记录的所有条目并且没有匹配项后,继续评估 的 SPF 记录<domain>
。
因此,如果您的 SPF 记录为a b c redirect=x d e f
,且 的 SPF 记录x
为1 2 3
,则首先a b c d e f
检查,如果没有匹配的记录,则继续进行处理,x
现在1 2 3
检查。
请注意,这意味着如果您all
的 SPF 记录中有一个术语,则会redirect
被忽略,因为该all
条目将始终匹配!这就是 RFC 所说的内容:
当记录中存在“全部”机制时,必须忽略任何“重定向”修饰符(第 6.1 节),无论术语的相对顺序如何。
还请注意,您不能有多个redirect
条目,因为一旦执行了第一个重定向,处理将永远不会返回到您的记录,它可能只会跟随redirect
您重定向到的域的记录中找到的另一个条目。但您的记录中当然可以有多个条目include
。
答案3
这里有一个简短的摘要和示例,当您的邮件托管在其他服务器上时将使用 include,例如:Gsuite Zoho 或其他电子邮件提供商,格式为“v=spf1 包括:serverdomain.com 包括:_spf.google.com ~all”
重定向用于将您的邮件从主服务器重定向到另一个域服务器。例如:“v=spf1 重定向=_spf.mailhostbox.com”
您还可以使用最佳方法来覆盖所有类型的配置:
“v=spf1+a+mx+ip4:192.168.1.2~全部”其中 +a 表示您域名的 A 记录,+mx 表示 MX 记录,IP 表示您服务器的 IP 地址。(注意替换您的服务器 IP)