Я пытаюсь настроить SPF на сервере - почта работает нормально и проверяется в соответствии с mxtoolbox и другими онлайн-проверками, но когда я проверяю его с помощью http://www.kitterman.com/spf/validate.html Я получаю сообщение об ошибке:
PermError SPF Permanent Error: Void lookup limit of 2 exceeded
Мне известно о ограничении 10 поисков, но раньше я не видел этой ошибки.
Запись SPF:
v=spf1 a mx ip4:IP1 ip4:IP2 ip6:IP3 include:spf-a.outlook.com
include:spf-b.outlook.com include:spf-c.outlook.com
include:spf.messaging.microsoft.com include:_spf.zdsys.com
include:spf.mail.intercom.io -all
На что ссылается предел недействительного поиска?
Предел недействительного поиска был введено в RFC 7208 и относится к поискам DNS, которые либо возвращают пустой ответ (NOERROR без ответов), либо ответ NXDOMAIN. Это отдельный счет от общего подсчета 10 запросов DNS.
Как описано в конце Раздел 11.1, могут быть случаи, когда полезно ограничить количество «терминов», для которых запросы DNS возвращают либо положительный ответ (RCODE 0) со счетчиком ответов 0, либо ответ «Ошибка имени» (RCODE 3). Иногда их вместе называют «недействительными поисками». Реализации SPF ДОЛЖНЫ ограничивать число "недействительных поисков" до двух. Реализация МОЖЕТ сделать такое ограничение настраиваемым. В этом случае РЕКОМЕНДУЕТСЯ значение по умолчанию, равное двум. Превышение лимита приводит к ошибке.
Это предназначено для предотвращения участия ошибочных или вредоносных записей SPF в атаке отказа в обслуживании на основе DNS.
В вашем случае проблемная часть выглядит так:
include:spf.messaging.microsoft.com
Его запись SPF:
v=spf1 ptr:protection.outlook.com ptr:messaging.microsoft.com ptr:o365filtering.com -all
Все три из этих записей при поиске возвращают либо NOERROR без записей, либо NXDOMAIN.
Поскольку три записи ничего не вернули, вы превысили предел недействительного поиска, равный 2, и запись SPF не выполняется.