我的网站需要使用Google Apps,SendGrid和MailChimp服务发送电子邮件。 Google Apps用于接收和读取到我的域的传入电子邮件。

我需要为我的域设置SPF记录。以下是语法上正确的(不确定A和MX token ):



但是如果我用http://www.kitterman.com/getspf2.py进行测试,我会得到



类似的问题
http://www.onlineaspect.com/2009/03/20/too-many-dns-lookups-in-an-spf-record/

如何优化/重写我的SPF记录?

最佳答案

因此,我以前从来没有做过此事,但是根据您发送的文章,这就是我的想法。

我们开始于:

v=spf1 a mx include:_spf.google.com include:servers.mcsv.net include:sendgrid.net ~all

在抛出Too many DNS lookups错误之前,我们总共进行了10次查询:
  2 (Initial TXT & SPF Lookups)
  2 (a & mx Lookups)
  1 (_spf.google.com)
  1 (servers.mcsv.net)
 +1 (sendgrid.net)
 -----------------
  7 Lookups

因此,即使没有遵循随附的SPF记录,我们也有7次查找。

现在,让我们进一步深入。

1. _spf.google.com

Google SPF记录评估为:
v=spf1 include:_netblocks.google.com include:_netblocks6.google.com ?all

每个解析为以下值:
# _netblocks.google.com
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

# _netblocks6.google.com
v=spf1 ip6:2607:f8b0:4000::/36 ip6:2a00:1450:4000::/36 ?all

因此google为我们提供了2个查询,使总数达到 9个查询

2.servers.mcsv.net

Mailchimp有点麻烦,因为它增加了整整3个额外的查询:
v=spf1 include:spf1.mcsv.net include:spf2.mcsv.net include:spf.mandrillapp.com ?all

我可以想象,根据您通过Mailchimp发送的内容,您也许可以删除其中的一两个记录(但您必须自己评估一下)。

无论如何,这些解决以下问题:
# spf1.mcsv.net
v=spf1 ip4:207.97.237.194/31 ip4:207.97.238.88/29 ip4:207.97.240.168/29 ip4:69.20.10.80/29 ip4:69.20.41.72/27 ip4:74.205.22.1/27 ip4:69.20.90.0/26 ?all

# spf2.mcsv.net
v=spf1 ip4:204.232.163.0/24 ip4:72.26.195.64/27 ip4:74.63.47.96/27 ip4:173.231.138.192/27 ip4:173.231.139.0/24 ip4:173.231.176.0/20 ip4:205.201.128.0/24 ?all

# spf.mandrillapp.com
v=spf1 ip4:205.201.136.0/24 ip4:205.201.137.0/24 ?all

这使我们总共获得 12个查询(已经超过限制两个)。

2. sendgrid.net

对我们来说,SendGrid最终成为最少数量的附加查询。
v=spf1 ip4:208.115.214.0/24 ip4:74.63.202.0/24 ip4:75.126.200.128/27 ip4:75.126.253.0/24 ip4:67.228.50.32/27 ip4:174.36.80.208/28 ip4:174.36.92.96/27 ip4:69.162.98.0/24 ip4:74.63.194.0/24 ip4:74.63.234.0/24 ip4:74.63.235.0/24 include:sendgrid.biz ~all

因此,这里唯一的附加查询是sendgrid.biz,其结果为:
v=spf1 ip4:208.115.235.0/24 ip4:74.63.231.0/24 ip4:74.63.247.0/24 ip4:74.63.236.0/24 ip4:208.115.239.0/24 ip4:173.193.132.0/24 ip4:173.193.133.0/24 ip4:208.117.48.0/20 ip4:50.31.32.0/19 ip4:198.37.144.0/20 ~all

这使我们的总计查询总数达到14。

因此,我们的总计为 14查找。我们需要将其降低到10。我在下面概述了几个选项,您可能需要使用多个选项中的一个来降低它。
  • 直接包含一些重定向的spf记录。既然我们知道了spf记录重定向到哪些服务器,您就可以切掉中间人并将其直接包括在内。注意:如果任何一项服务最终都更改了它们的SPF记录,则必须完成手动更新的过程。
  • 删除您正在使用的某些服务。不确定使用所有这些服务的用例是什么,但是肯定可以重叠使用。例如,SendGrid支持(1)事务性传出邮件,(2)时事通讯/市场营销电子邮件和(3)传入邮件。因此,可能存在一些可减少的冗余。
  • 如果有多余,则删除MX记录。根据您的设置,MX查找可能是多余的。

  • 希望这可以帮助!

    10-07 19:38