Byr*_*ode 7 domain-name-system postfix spf g-suite
我们最近将我们的服务器堆栈移到了一个新的数据场,我们的一些客户遇到了从他们的 GApps 帐户发送邮件的问题。在服务器移动之前,我们没有任何问题,但我怀疑 IP 更改等可能与此有关。
我们发现问题在于某些域的 SPF 标头不正确,并且不包含 Google SPF 记录。
我已使用以下内容将 TXT 记录添加到所有域中,v=spf1 include:_spf.google.com ~all
这解决了可传递性问题,但我对 SPF 的了解不够,无法知道我们 DNS 模板上的所有 TXT 记录是否正常。
如果域使用 Google Apps 发送邮件,我们会禁用该域的本地邮件路由以防止任何内部邮件无法通过,并且所有非 GApps MX 记录都将被删除。
目前,每个域上都设置了以下内容:
domain.com. TXT v=spf1 +a +mx -all
domain.com. TXT v=spf1 include:_spf.google.com ~all
mail.domain.com. TXT v=spf1 ip4:xxx.xxx.xxx.xxx a mx a:mail.domain.com mx:domain.com ?all
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:
对于添加到服务器的所有域,上述记录是否正常(一些 SPF 测试结果为阳性,其他为阴性)作为全局记录?
上面的两个 domain.com DNS 记录可以合并为一个吗?
对于不通过 Google Apps 发送的域,是否可以让 Google 包含 SPF 记录?
如果他们使用 Google Apps,是否需要删除其他 TXT 记录。我不认为有必要删除 mail.domain.com 记录,因为邮件不是来自那里,但如果存在,可能会导致任何问题。
我们有 100 多个域在一个服务器堆栈上运行,并且将它们全部更新不会很有趣,但我宁愿它正确完成。
提前致谢。
一个主机名上应该只有一个 SPF 记录,因此您可以将两者合二为一。SPF 基本上是一个机制列表(匹配某些内容)以及对该机制要采取的操作。您可以根据需要在 SPF 记录中包含任意数量的这些机制。因为domain.com
你想要这个:
domain.com. IN TXT "v=spf1 include:_spf.google.com +a +mx -all"
Run Code Online (Sandbox Code Playgroud)
这意味着检查以下内容(第一个匹配机制是结果)。
获取 SPF 记录_spf.google.com
并对其进行评估 ( include:
)。Google 的 SPF 记录如下所示:
_spf.google.com descriptive text "v=spf1 ip4:216.239.32.0/19 ip4:64.233.160.0/19 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:209.85.128.0/17 ip4:66.102.0.0/20 ip4:74.125.0.0/16 ip4:64.18.0.0/20 ip4:207.126.144.0/20 ip4:173.194.0.0/16 ?all"
Run Code Online (Sandbox Code Playgroud)如果 SMTP 客户端的 IP 位于这些 IPv4 子网 ( ipv4:
) 中,则接受
如果 SMTP 客户端的 IP 是域 ( +a
)的 A 记录,则接受
+mx
)的 MX 记录,则接受-all
)您的 SPF 记录mail.domain.com
可能可以简化为:
mail.domain.com. IN TXT "v=spf1 ip4:xxx.xxx.xxx.xxx a mx:domain.com ?all"
Run Code Online (Sandbox Code Playgroud)
假设它mail.domain.com
本身没有 MX 记录。如果它确实有 MX 记录,请将mx
术语添加回(在 之前all
)。
归档时间: |
|
查看次数: |
2767 次 |
最近记录: |