Przejdź do treści
correct.email

Sprawdzanie rekordu SPF

Sprawdza rekord SPF domeny, śledzi każdy include i redirect oraz liczy zapytania DNS względem limitu 10, który stosują serwery odbiorców.

Domena, np. example.com. Możesz też wkleić adres strony lub adres e-mail.

Jak działa to sprawdzenie

Odpytujemy rekordy TXT domeny przez publiczne resolwery i wybieramy te, które zaczynają się dokładnie od „v=spf1” — tak samo jak serwery odbiorców (RFC 7208, sekcja 4.5).

Każdy cel include i redirect jest pobierany i analizowany rekurencyjnie. Liczymy każdy element wymagający zapytania DNS — include, a, mx, ptr, exists i redirect — w całym drzewie, a także „puste” zapytania, które nie zwracają danych. Zakładamy najgorszy przypadek: nadawcę, który nie pasuje do żadnego mechanizmu aż do końca rekordu, bo właśnie wtedy limity mają znaczenie.

Nazwy z mechanizmów a i mx rozwiązujemy na adresy IP, aby było widać, co autoryzują. Problemy w rekordach dostawców (np. w include Twojej usługi wysyłkowej) oznaczamy osobno, bo nie masz na nie wpływu.

Ograniczenia

  • Makra takie jak %{i} czy %{s} zależą od konkretnej wiadomości, więc elementy z makrami liczymy, ale ich nie rozwijamy.
  • Widzisz rekord w postaci, w jakiej DNS serwuje go teraz. Inne resolwery mogą jeszcze przechowywać starszą wersję do wygaśnięcia jej TTL.
  • SPF sprawdza nadawcę z koperty (Return-Path), a nie adres From widoczny dla odbiorcy. To, czy ma to znaczenie dla doręczenia, rozstrzyga zgodność domen w DMARC.
  • Sprawdzane domeny nie są zapisywane ani logowane.

Najczęstsze pytania

Co oznacza limit 10 zapytań DNS?

RFC 7208 dopuszcza najwyżej 10 elementów wywołujących zapytania DNS (include, a, mx, ptr, exists i redirect) podczas jednej oceny SPF, wliczając zagnieżdżone include. Powyżej limitu odbiorcy zwracają „permerror”, a wielu traktuje wiadomość jako nieuwierzytelnioną. Mechanizmy ip4, ip6 i all się nie liczą.

Zakończyć rekord ~all czy -all?

Oba informują odbiorców, że serwery spoza listy nie są autoryzowane. -all (fail) jest surowsze; ~all (softfail) jest powszechnie używane razem z DMARC, który decyduje wtedy, co dzieje się z pocztą, która nie przejdzie weryfikacji. Nigdy nie używaj +all — autoryzuje każdy serwer w internecie.

Czy domena może mieć dwa rekordy SPF?

Nie. Przy więcej niż jednym rekordzie „v=spf1” odbiorcy zwracają permerror i SPF nie przechodzi dla żadnej wiadomości. Połącz je w jeden rekord z jednym „v=spf1” na początku i jednym „all” na końcu.

Jak naprawić „zbyt wiele zapytań DNS”?

Usuń include usług, z których już nie korzystasz, zastąp mechanizmy a i mx zakresami ip4/ip6 Twoich serwerów i zrezygnuj z ptr. Jeśli limit nadal jest przekroczony, przenieś wysyłkę masową na subdomenę z własnym rekordem SPF. „Spłaszczanie” include do listy adresów działa, ale psuje się bez ostrzeżenia, gdy dostawca zmieni adresy.

SPF przechodzi, a poczta i tak trafia do spamu. Dlaczego?

SPF to tylko jeden sygnał. Odbiorcy biorą pod uwagę też DKIM, zgodność domen w DMARC, reputację nadawcy, treść i liczbę zgłoszeń spamu. Sprawdź DKIM i DMARC, a potem nagłówek Authentication-Results doręczonej wiadomości w analizatorze nagłówków.