我们正在从自我托pipe的邮件平台迁移到Office365 for Business。 一切都很好,除了SPFlogging。 此刻,我们有v=spf1 a mx include:spf.mtasv.net -all为TXTlogging,但Office365必须允许v=spf1 include:spf.protection.outlook.com -all也一样。 所以,我继续前进,并将它们合并为: v=spf1 a mx include:spf.mtasv.net include:spf.protection.outlook.com -all 。 当在studentkickoff.be的域中检查SPFlogging时,这会导致PermError SPF Permanent Error: Too many DNS lookups 。
我的问题是以下几点:我如何解决这个错误? 我知道我可以用ip4replace一些logging,但是当这样做的时候,Office365的在线疑难解答持续抱怨没有findlogging: 
提前致谢!
除了已经说过的一切之外,让我们把重点放在这个:
My question is the following: How do I work around this error? I know I can replace some records with their ip4 equivalent, but when doing this, the online troubleshooter of Office365 kept complaining that the record was not found:
我最近遇到了同样的问题。
虽然它被logging,它应该工作( http://community.office365.com/en-us/w/exchange/customize-an-spf-record-to-validate-outbound-email-sent-from-your-domain .aspx )我们永远无法得到它与一个不同的logging进行validation。
如果是a:some.host.com或ip4:127.0.0.1 ,那么这个问题并不重要,它总是抱怨SPFlogging错误/丢失。
最后,我们将logging更改为v=spf1 include:spf.protection.outlook.com -all使validation向导快乐起来,然后将其调整回真实logging。
从这里采取的答案作者: 斯威夫特 。 适应这个问题。 另外,请在这里阅读一般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
所以,即使没有包括SPFlogging,我们也有7个查找。
现在,让我们深入一个层次。
谷歌SPFlogging评估为:
v=spf1 include:_netblocks.google.com include:_netblocks6.google.com ?all
每个parsing为以下值:
# _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
所以谷歌给了我们两个更多的查询,总计高达9查找 。
Mailchimp是一个doosey的一点,因为它增加了整个3额外的查找:
v=spf1 include:spf1.mcsv.net include:spf2.mcsv.net include:spf.mandrillapp.com ?all
我会想象,根据您通过Mailchimp发送的内容,您可能可以删除这些logging中的一个或两个(但您必须亲自评估)。
无论如何,这些解决scheme如下:
# 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个查找 (这已经超过了两个)。
SendGrid最终成为我们最less的额外查找。
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.我已经在下面列出了几个选项,您可能需要使用其中一个以上的选项。
直接包含一些redirect的spflogging。 现在我们知道spfloggingredirect到哪个服务器,你可以切掉中间人并直接包含它们。 注意:如果任何服务最终更改了SPFlogging,则必须手动完成更新。
删除您正在使用的一些服务。 不知道你的用例是什么,所有这些服务,但肯定有一些重叠,你可以使用。 例如,SendGrid支持(1)事务处理外发邮件,(2)通讯/营销电子邮件和(3)传入邮件。 所以可能会有一些可裁减的冗余。
删除MXlogging是否冗余。 根据您的设置,MX查找可能是多余的。
您可以使用SPF代理服务,如spfproxy.org。 那么你就不需要将DNS条目变成IP地址,甚至可以用子域名拧紧。 您只需设置SPF代理,它将在后端执行所有查找。 这是我发现解决这个问题的唯一方法。
我可以看到这是创build专门用于通过第三方发送的子域的一个很好的理由:
如果您有不同的第三方发件人处理可以注册的不同内容,则设置单独的子域名可能是pipe理该域名的好方法:
子域名可以基于正在发送的内容:
或者子域名可以基于第三方发件人:
现在我真的喜欢这个想法,我已经映射出来了! 我会自己尝试一下。 这将意味着为这些子域名设置额外的电子邮件地址,但这样可以更轻松地组织电子邮件。