Office365 SPFlogging有太多的查找

对于一些完全荒谬的行政原因,我们已经在Office365上有一个邮箱的拆分域,这要求我们将include:outlook.com添加到我们的SPFlogging。 这个问题就是这个规则本身就需要9个 DNS查找,最多10个。

严重的是,这太可怕了。 只要看看它:

 v=spf1 include:spf-a.outlook.com include:spf-b.outlook.com ip4:157.55.9.128/25 include:spfa.bigfish.com include:spfb.bigfish.com include:spfc.bigfish.com include:spf-a.hotmail.com include:_spf-ssg-b.microsoft.com include:_spf-ssg-c.microsoft.com ~all 

鉴于我们有我们自己的大型邮件系统,我们需要有amx规则, include:_spf1.mydomain.com ,并include:_spf2.mydomain.com这使我们在13个DNS查找导致PERMERROR s严格SPFvalidation器,以及用非严格/严重执行的validation器完全不可靠/不可预测的validation。

是否有可能以某种方式消除其中的3个include:来自臃肿的outlook.comlogging的规则,但仍覆盖O365使用的服务器?

编辑:

评论者提到我们应该简单地使用较短的spf.protection.outlook.comlogging。 虽然这对我来说新闻,而且更短,只有一个更短的logging:

 spf.protection.outlook.com include:spf-a.outlook.com include:spf-b.outlook.com include:spf-c.outlook.com include:spf.messaging.microsoft.com include:spfa.frontbridge.com include:spfb.frontbridge.com include:spfc.frontbridge.com 

Edit²

我想我们可以在技术上削减到:

 v=spf1 a mx include:_spf1.mydomain.com include:_spf2.mydomain.com include:spf-a.outlook.com include:spf-b.outlook.com include:spf-c.outlook.com include:spfa.frontbridge.com include:spfb.frontbridge.com include:spfc.frontbridge.com ~all 

但是我看到的潜在问题是:

  1. 我们需要及时了解父spf.protection.outlook.comspf.messaging.microsoft.comlogging的任何更改。 如果有什么改变或[神禁止],我们将不得不手动更新我们的反映。
  2. 使用我们的实际域名logging的长度是260个字符,这将需要2个string的TXTlogging,我真的不相信所有的DNS客户端和SPFparsing器在那里将正确接受超过255个字节的TXTlogging。

截至最近的一些日子,微软通过摆脱所有的子logging并使用2或3个“ptr”logging来“解决”这个问题:

 $ dig TXT spf.protection.outlook.com spf.protection.outlook.com. IN TXT "v=spf1 ptr:protection.outlook.com ptr:o365filtering.com -all" $ dig TXT spf.messaging.microsoft.com spf.messaging.microsoft.com. IN TXT "v=spf1 ptr:protection.outlook.com ptr:messaging.microsoft.com ptr:o365filtering.com -all" 

问题出在这里:虽然这将帮助Office 365客户端避免停留在“太多查找”PermError之下…通过强制每个世界上的邮件服务器为连接到它们的每个IP地址执行(昂贵的)PTR查找。

根据SPF规格 :

如果可能的话,你应该避免在你的SPFlogging中使用这种机制,因为这会导致大量昂贵的DNS查询。

我们也发现了这个问题。 微软“鼓励”您将Office 365专门用于您的电子邮件,因为现在没有空间来添加新项目。

我们解决这个问题的方式是双重的。

首先,我们可以通过将其他条目添加为明确的IPv4条目来减lessDNS查找。 这可以让我们在添加一些显式IP之前include:outlook.com

其次,我们在Office 365的主要域名下build立了一个单独的子域名。 这样,电子邮件@ foo.company.com得到Office 365 SPF,电子邮件@ comapny.com得到我们正常的SPF。 这并不完美,但幸运的是,我们使用Office 365的地方都可以在子域内而不是基域内使用电子邮件地址。