如何构建 SPF 记录?

How do I structure SPF Records?

我们通过 Google 应用程序和 Klaviyo 发送电子邮件——这是一种有点像 mailchimp 的工具。

我很想设置 SPF 记录以确保它们得到正确的身份验证。

我让我的房东做的,他们设置了两条记录:

v=spf1 include:_spf.google.com ~all
v=spf1 include:send.benefacto.org ~all

根据这个 https://support.google.com/a/answer/4568483?hl=en 当你有多个 SPF 记录时,它们都需要打包成一个,例如

v=spf1 include:send.benefacto.org include:_spf.google.com ~all

这有意义吗?

是的,您需要将 SPF 指令合并到域中的单个记录中。根据规范,单个域上存在多个 SPF 记录是错误的。

我不会使用 ~all,而是使用 -all。如果你关心身份验证,你还不如让它失败,如果它不好的话。

我还看到您正在关注 Klaviyo 的文档,但我只是想澄清一件事,您的电子邮件是否使用 @send.benefacto.org 的 return 路径发送?这被称为 RFC5321.MailFrom。这是用来测试您的 SPF 记录的。如果是你就好了。

而您 send.benefacto.org 的 SPF 记录应该只是。

v=spf1 include:send.benefacto.org -all

您不需要包含 google spf,因为 google 不使用 "send.benefacto.org",因为它是 RFC5321.MailFrom

现在 Google 您需要修复它。因为您在此处有 2 个 SPF 记录:Your Benefacto.org SPF Records

不需要合并,只需要去掉这个条目即可。

v=spf1 include:send.benefacto.org ~all

你只剩下:

v=spf1 include:_spf.google.com ~all

因为 Klaviyo 和 Gmail 发送方式不同 RFC5321.MailFrom - 你不必将它们结合起来(我试图将这一点带回家,你可以这样做并没有真正的伤害 - 只是创建了不必要的查找对于 ESP)

您还应该通过向 "mailtest@unlocktheinbox.com"

发送电子邮件来仔细检查以确保您的 SPF 记录确实从两个邮件来源正确验证

您还应该考虑设置 DKIM,我认为您将能够设置 DMARC 并轻松对齐。但是您需要对 DMARC 和第 3 方发件人多加小心,并进行相应的测试。