如何在 SPF 记录中指定多个包含的域?

如何在 SPF 记录中指定多个包含的域?

我们的企业电子邮件托管在 Google 应用上。此外,我们的网络服务器也可能发送电子邮件。目前我们在 DNS 中的 SPF 记录如下所示:

domain.com.    IN   TXT    "v=spf1 a include:_spf.google.com -all"

这一切都很好,但是现在我们已将电子邮件列表管理外包给另一家公司,我们需要在其中包含第二个域名include。因此,我正在寻找类似的东西:

domain.com.    IN   TXT    "v=spf1 a include:_spf.google.com include:otherdomain.com -all"

这个正确的语法是什么?非常感谢!

答案1

所有 SPF 机制(包括include)都可以多次使用,以空格分隔:

"v=spf1 include:_spf.google.com include:otherdomain.com -all"

作品评价include方式如下:

  • 如果包括数据返回PASS,那么include本身也会产生一个结果(比如,include:foo.bar生成了一个PASS,但是却-include:foo.bar生成了一个FAIL)。

  • 如果包括数据返回 FAIL 或 NEUTRAL,则include对结果没有任何贡献,处理将转到下一个机制。

SPF 记录语法RFC 7208

(请注意,这redirect=不是一种机制,而是一个全局修饰符,并且不能以这种方式重复。)

答案2

这是您请求的正确语法

domain.com:    IN   TXT    "v=spf1  include:_spf.google.com include:otherdomain.com -all"

答案3

只需使用该include机制将每个服务添加到您的 SPF 记录中:

v=spf1 a include:_spf.google.com include:otherdomain.com -all

确保不要在一个域上创建多个 SPF 记录。如果这样做,SPF 将返回 PermError。

还要注意不要超过10 DNS 查找限制SPF,否则 SPF 也将返回 PermError。

答案4

v=spf1 a include:_spf.google.com include:seconddomain.com include:thirddomain.com -all是正确的方法

相关内容