Zapytanie SPF to zapytanie DNS, które uruchamia odbierający serwer pocztowy, aby dowiedzieć się, które serwery autoryzowali Państwo do wysyłania poczty jako Państwa domena. Dzieje się to przy każdej przychodzącej wiadomości, więc wiedza o tym, jak samodzielnie uruchomić to samo zapytanie, to najszybszy sposób, aby zobaczyć to, co widzą odbiorcy. Połącz to wyszukiwanie z weryfikatorem rekordu SPF, aby zwalidować znaleziony rekord.
Jak działa zapytanie SPF
Państwa rekord SPF jest publikowany jako rekord DNS TXT w wierzchołku (apex) domeny (na przykład pod example.com, a nie _spf.example.com). Gdy nadchodzi wiadomość, odbiorca odczytuje domenę nadawcy z koperty, odpytuje rekordy TXT tej domeny, znajduje ten zaczynający się od v=spf1 i ewaluuje go względem adresu IP łączącego się serwera. Jeśli IP jest autoryzowany, SPF przechodzi; jeśli nie, kwalifikator w rekordzie decyduje, co stanie się dalej.
Odczytywanie surowego rekordu SPF
Wyszukiwanie zwraca pojedynczą linię, taką jak ta:
v=spf1 include:_spf.google.com include:sendgrid.net ip4:203.0.113.0/24 -all
Każdy token to mechanizm: include: pobiera autoryzowanych nadawców innego dostawcy, ip4: autoryzuje adres lub zakres bezpośrednio, a końcowe -all mówi odbiorcom, aby odrzucali każdego niedopasowanego; nasz przewodnik po a, mx, ip4 i include omawia każdy z nich. Surowy łańcuch to jednak tylko połowa obrazu - prawdziwa praca to rozwinięcie tego, co zawierają te mechanizmy include.
Rekurencyjne rozwijanie include i liczenie zapytań
Każdy include: to sam w sobie domena z własnym rekordem SPF, który może zawierać dalsze include. To narzędzie podąża za tym łańcuchem aż do samego dołu, więc rekord, który wygląda jak trzy include, może faktycznie rozwiązać się w kilkanaście zapytań DNS. Ma to znaczenie, ponieważ RFC 7208 ogranicza ewaluację do dziesięciu mechanizmów odpytujących DNS (plus limit dwóch zapytań void); przekroczenie któregokolwiek powoduje, że odbiorcy zwracają PermError. Jeśli Państwa rozwinięty rekord przekracza dziesięć, AutoSPF spłaszcza mechanizmy include do kompaktowego rekordu i utrzymuje go aktualnym - zobacz zbyt wiele zapytań DNS.
Ręczne wyszukiwanie rekordu SPF
Podstawowe zapytanie można uruchomić samodzielnie z terminala. Na macOS lub Linux:
dig TXT example.com +short
Na Windows:
nslookup -type=TXT example.com
Oba zwracają surowe rekordy TXT, w tym linię SPF - ale żadne z nich nie rozwija zagnieżdżonych include ani nie liczy łącznych zapytań, dlatego dedykowane narzędzie do wyszukiwania jest szybsze przy czymkolwiek poza szybkim rzutem oka.
Gdy wyszukiwanie nic nie zwraca (lub zawodzi)
- Nie znaleziono rekordu. Domena nie publikuje rekordu TXT
v=spf1, więc odbiorcy nie mają nic, względem czego mogliby sprawdzić nadawcę. - Znaleziono dwa rekordy. RFC 7208 dopuszcza tylko jeden; drugi powoduje PermError i oba są ignorowane - połącz rekordy SPF w pojedynczy wpis, aby to naprawić.
- Subdomena nie ma rekordu. Subdomeny nie dziedziczą rekordu SPF domeny nadrzędnej - każda wysyłająca subdomena potrzebuje własnego.
- PermError przy liczeniu. Poprawna składnia, ale rozwinięte zapytania przekraczają dziesięć.
Po wyszukaniu: zwaliduj, napraw i obejmij DKIM oraz DMARC
Gdy mają Państwo rekord, przepuść go przez weryfikator SPF, aby sprawdzić go pod kątem każdej reguły RFC, lub zbuduj go od nowa i czysto generatorem rekordów SPF. A ponieważ SPF obejmuje tylko serwer wysyłający, połącz go z darmowym weryfikatorem DMARC oraz wyszukiwarką DKIM - DMARC to element wiążący SPF i DKIM z Państwa widocznym adresem From. Rekord należy wyszukiwać za każdym razem, gdy dodają Państwo nadawcę, migrują dostawców lub widzą pocztę trafiającą do spamu.