Limit nieważności wyszukiwania został wprowadzony w RFC 7208 i dotyczy wyszukiwania DNS, które zwracają pustą odpowiedź (NOERROR bez odpowiedzi) lub odpowiedź NXDOMAIN. Jest to osobna liczba od ogólnej liczby 10 wyszukiwania DNS.
Jak opisano na końcu sekcji 11.1 , mogą zaistnieć przypadki, w których użyteczne jest ograniczenie liczby „warunków”, dla których zapytania DNS zwracają odpowiedź pozytywną (RCODE 0) z liczbą odpowiedzi 0 lub „Błąd nazwy” „Odpowiedź (RCODE 3). Są one czasami nazywane zbiorczo „przeglądami pustki”. Implementacje SPF POWINNY OGRANICZYĆ „nieważne wyszukiwania” do dwóch. Implementacja MOŻE zdecydować się na skonfigurowanie takiego limitu. W takim przypadku domyślną wartością jest ZALECANA. Przekroczenie limitu daje wynik „permerror”.
Ma to na celu zapobieganie przyczynieniu się błędnych lub złośliwych rekordów SPF do udziału w ataku typu „odmowa usługi” opartym na DNS.
W twoim przypadku problematyczną częścią wydaje się być:
include:spf.messaging.microsoft.com
Jego rekord SPF to:
v=spf1 ptr:protection.outlook.com ptr:messaging.microsoft.com ptr:o365filtering.com -all
Wszystkie trzy rekordy, jeśli zostaną sprawdzone, zwrócą albo NOERROR bez żadnych rekordów, albo NXDOMAIN.
Ponieważ trzy rekordy niczego nie zwróciły, przekroczono limit wyszukiwania nieważności wynoszący 2, a rekord SPF kończy się niepowodzeniem.
python-spf
implementacji wykonywane wyszukiwania zależą od sprawdzanego adresu IP, a zatem liczba zapytań zwracających brak rekordu jest różna. Ponieważ właściciel domeny nie ma kontroli nad tym, które adresy IP będą musiały zostać zweryfikowane, konsekwencją tego jest to, że dowolnaa
lubmx
specyfikacja w rekordzie SPF musi wskazywać tylko nazwy podwójnego stosu, aby zapobiec fałszywym błędom.