同时使用 Google Workspace 和 SendGrid 时添加 SPF 记录

同时使用 Google Workspace 和 SendGrid 时添加 SPF 记录

我之前没有在我的域名上设置任何 SPF。我使用 Google Workspace。我现在使用 SendGrid API。

这是我设置的 SPF 记录

v=spf1 include:_spf.google.com include:_mailcust.gandi.net include:sendgrid.net ~all

SendGrid 已验证。

然而,我使用 Gmail 发送的邮件被退回了(出于安全考虑,电子邮件地址已被删除)

550 5.7.23 : Sender address rejected: Message rejected due to: SPF fail - not authorized. Please see http://spf.libraesva.com/Why?s=mfrom;[email protected];ip=209.85.218.45;[email protected]

该链接上指出...

...they need to change xxxx.com SPF record so that it authorizes mail-ej1-f45.google.com (209.85.218.45). They should add this to their SPF record:
a:mail-ej1-f45.google.com

但我很好奇,为什么我需要使用a:mail-ej1-f45.google.com而不是或以及include:_spf.google.com

我联系了 Google 支持人员,他们表示:

如果您使用 sendgrid 和 Gmail,请添加以下 SPF 记录“v=spf1 include:_spf.google.com include include:sendgrid.net ~all”

但这是我已经设置的 SPF 记录,自从联系他们以来,他们并没有提供太多帮助。

目前我的 SPF 如下所示,但我想知道:

  1. 为什么我必须添加a:mail-ej1-f45.google.comSPF 记录

  2. 我可以将include:_spf.google.com和两者都a:mail-ej1-f45.google.com记录下来吗?

    “v=spf1 包括:_spf.google.com 包括:_mailcust.gandi.net 包括:sendgrid.net a:mail-ej1-f45.google.com ~all”

答案1

这并不难。

找到 mail-ej1-f45.google.com 的地址 (其为 209.85.218.45) 查找 _spf.google.com 的 TXT 记录:

“v=spf1 包括:_netblocks.google.com 包括:_netblocks2.google.com 包括:_netblocks3.google.com ~all”

查找列出的每条记录。实际上,您只需检查第一条即可找到:

“v = spf1 ip4:35.190.247.0/24 ip4:64.233.160.0/19 ip4:66.102.0.0/20 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:74.125.0.0/16 ip4:108.177.8.0/21 ip4:173.194.0.0/16 ip4:209.85.128.0/17 ip4:216.58.192.0/19 ip4:216.239.32.0/19 ~全部”

mail-ej1-f45.google.com 位于 209.85.128.0/17

因此,如果您从包含“include:_spf.google.com”的 SPF 记录的域发送邮件,而该邮件因 SPF 错误而失败,则问题出在接收端。

相关内容