Czym jest rekord SPF i dlaczego ma znaczenie?
Rekord SPF (Sender Policy Framework) to rekord TXT DNS, który określa, które serwery poczty są uprawnione do wysyłania e-maili w imieniu Twojej domeny. Gdy serwer odbiorcy otrzymuje wiadomość rzekomo pochodzącą z Twojej domeny, odpytuje rekord SPF, aby sprawdzić, czy IP nadawcy jest na liście. Jeśli IP nie jest autoryzowane, wiadomość może zostać odrzucona lub oznaczona jako spam.
SPF to jeden z trzech podstawowych standardów uwierzytelniania e-maili, obok DKIM i DMARC. Bez niego każdy może sfałszować Twoją domenę w polu nadawcy koperty, narażając domenę na phishing i ataki podszywania się. Większość nowoczesnych dostawców skrzynek i korporacyjnych bram pocztowych sprawdza SPF przed przyjęciem poczty.
Składnia rekordu SPF
Każdy rekord SPF zaczyna się od v=spf1, co deklaruje wersję. Następnie dodajesz mechanizmy wymieniące uprawnionych nadawców. Rekord kończy się kwalifikatorem zwanym mechanizmem all.
- ip4:x.x.x.x — autoryzuje pojedynczy adres IPv4
- ip4:x.x.x.x/24 — autoryzuje zakres IPv4 CIDR
- ip6:::1 — autoryzuje adres IPv6
- include:domain.com — importuje rekord SPF innej domeny (dla nadawców zewnętrznych)
- a — autoryzuje IP z rekordu A domeny
- mx — autoryzuje adresy IP z rekordów MX domeny
Kwalifikatory polityki SPF
Kwalifikator na końcu rekordu SPF określa, co serwery odbiorcze robią z pocztą od nieautoryzowanych nadawców.
| Kwalifikator | Zachowanie |
|---|
| +all | Wszyscy nadawcy przechodzą. Nigdy tego nie używaj — całkowicie unieważnia SPF. |
| ~all | Miękki błąd — nieautoryzowana poczta jest przyjmowana, ale oznaczana. Używaj podczas testów. |
| -all | Twardy błąd — nieautoryzowana poczta jest odrzucana. Używaj w produkcji. |
| ?all | Neutralny — brak zadeklarowanej polityki. Rzadko przydatne. |
Popularne dyrektywy include SPF
Jeśli korzystasz z zewnętrznych usług e-mail, musisz dodać ich autoryzowane domeny wysyłkowe za pomocą dyrektyw include:. Oto najczęściej używane:
- Google Workspace: include:_spf.google.com
- Microsoft 365: include:spf.protection.outlook.com
- Mailchimp: include:servers.mcsv.net
- SendGrid: include:sendgrid.net
- Mailgun: include:mailgun.org
Limity zapytań DNS w SPF i jak ich nie przekroczyć
SPF ma bezwzględny limit 10 zapytań DNS podczas ewaluacji. Każdy mechanizm include:, a i mx liczy się jako zapytanie. Wiele rekordów SPF usług zewnętrznych samo wywołuje dodatkowe zapytania wewnętrznie. Jeśli rekord przekroczy łącznie 10 zapytań, ewaluacja SPF zwraca PermError, traktowany jako niepowodzenie. Aby nie przekroczyć limitu, stosuj bezpośrednie adresy IP, gdy to możliwe, i unikaj łańcuchów zagnieżdżonych include.
SPF działa najlepiej z DKIM i DMARC
Sam SPF chroni nadawcę koperty (Return-Path), a nie widoczny adres From. Pełna ochrona przed podszywaniem wymaga też DKIM do podpisywania wiadomości oraz DMARC do uzgadniania wyników uwierzytelniania z nagłówkiem From. Razem te trzy standardy tworzą bazę uwierzytelniania e-maili oczekiwaną przez Gmail, Outlook i Yahoo Mail.
Po skonfigurowaniu SPF zadbaj też o czystość list. Weryfikacja e-maili usuwa nieprawidłowe i ryzykowne adresy przed wysyłką, co utrzymuje niski wskaźnik zwrotów i chroni reputację nadawcy budowaną dzięki poprawnemu uwierzytelnianiu. Adresy możesz też weryfikować masowo przez masową weryfikację e-maili lub zintegrować weryfikację bezpośrednio ze swoim stosem przez API walidacji e-maili.