有人建议我为我的域名配置 SPF 记录,我已这样做了。我使用 gsuite 发送电子邮件,并正确配置了 mx 记录以通过 gsuite 发送邮件。我的 Web 应用程序通过 Sendgrid 的 API 发送电子邮件,我还使用 Mailchimp 发送营销电子邮件。
我认为以下是正确的 TXT 记录:
"v=spf1 a mx include:_spf.google.com include:sendgrid.com include:servers.mcsv.net ~all"
但是,我做了一些测试,结果显示该记录包含太多 DNS 查询。此时最好的处理方案是什么?
答案1
首先,如果你正在使用 Sendgrid 的服务,你应该包括记录sendgrid.net
(旨在用于此目的),而不是sendgrid.com
(似乎反映了 Sendgrid 公司自己使用的邮件服务,包括 Google Mail 等)。
修复此问题可消除一些与您无关的其他查找。
其次,mx
SPF 记录扩展到什么?
由于您将其包含_spf.google.com
在 SPF 中,我预计您的MX
记录很可能是 Google Mail 入站服务器,而将其添加到 SPF 中(并添加额外的查找)完全没有意义。
至于a
,该地址有什么?它甚至会发送邮件吗?如果是,为什么不直接在 SPF 中添加 IP 地址,而是间接引用?
答案2
如您所知,SPF 记录最多可进行 10 次 DNS 查找。如果结果超过此限制,则记录将失败并出现 permerror。
问题如下:
include:sendgrid.com
这是 Sendgrid 自己的内部公司邮件。它有自己的大量包含内容,因此需要进行相当多的 DNS 查找。
这是不是您应该使用什么。Sendgrid 客户应该将以下内容添加到他们的 SPF 记录中:
include:sendgrid.net
笔记网,而不是 com。这应该会将您的 DNS 查找次数减少到 10 次以下,并为您提供有效(且基本正确)的 SPF 记录。
我说的是大体正确因为您的记录以 结尾,在测试完记录后~all
应将其更改为。 这使得整个记录无法真正阻止伪造邮件。-all
~all