SPF, DKIM i DMARC: uwierzytelnianie poczty w praktyce
Każdy może wpisać Twoją domenę w polu „Od” wiadomości e-mail. Protokół SMTP, którym przesyłana jest poczta, w ogóle tego nie sprawdza. Uwierzytelnianie poczty to trzy rekordy DNS, dzięki którym serwer odbiorcy zweryfikuje nadawcę za Ciebie. SPF wskazuje serwery uprawnione do wysyłki w imieniu domeny, DKIM dodaje do każdej wiadomości podpis kryptograficzny, a DMARC wiąże oba mechanizmy z adresem widocznym dla odbiorcy i mówi, co zrobić z wiadomością, która nie przeszła weryfikacji.
Bez tych rekordów prawdziwe wiadomości częściej trafiają do spamu, a oszuści łatwiej podszywają się pod Twoją domenę. Poniżej: co robi każdy rekord, jak współpracują i od czego zacząć.
Rekord SPF: kto może wysyłać
SPF (Sender Policy Framework) to jeden rekord TXT w domenie z listą dozwolonych nadawców. Typowy rekord SPF wygląda tak:
example.com. TXT "v=spf1 ip4:203.0.113.10 include:_spf.google.com ~all"
v=spf1— oznaczenie rekordu SPF, zawsze na początku.ip4:/ip6:— pojedyncze adresy lub zakresy.include:— „ufaj też tym, których wymienia ta domena”. Tak dodaje się Google Workspace, Microsoft 365 czy narzędzie do newsletterów.aimx— serwery, na które wskazują rekordy A i MX domeny.~alllub-all— co zrobić z pozostałymi: miękkie odrzucenie (przyjąć, ale jako podejrzane) albo odrzucenie.
Łatwo przeoczyć jeden szczegół: SPF sprawdza nadawcę z koperty (adres Return-Path używany podczas doręczenia), a nie adres „Od” widoczny w programie pocztowym. Platformy newsletterowe często używają własnej domeny w Return-Path — SPF przechodzi, ale nie dowodzi niczego o Twojej domenie. Tę lukę zamyka właśnie DMARC.
Co publikuje Twoja domena, pokaże sprawdzenie SPF: rozbite mechanizmy, końcową regułę i liczbę zapytań DNS.
DKIM: podpis na każdej wiadomości
DKIM (DomainKeys Identified Mail) działa jak pieczęć. Serwer nadawcy podpisuje nagłówki i treść wiadomości kluczem prywatnym i dodaje nagłówek DKIM-Signature. Odbiorca pobiera klucz publiczny z DNS i sprawdza, czy po drodze nic nie zmieniono. W podpisie najważniejsze są dwa znaczniki:
d=— domena, która podpisała wiadomość;s=— selektor, nazwa, pod którą opublikowano klucz:selector._domainkey.example.com.
Klucz wyszukiwany jest po selektorze, więc domena może mieć jednocześnie kilka kluczy DKIM: dla dostawcy poczty, dla newslettera, dla CRM. Selektory, długość klucza i rotację omawiamy w artykule DKIM: co to jest, rekord DKIM i selektor. Czy klucz istnieje i jaką ma długość, pokaże sprawdzenie DKIM.
DMARC: dopasowanie i polityka
DMARC to rekord TXT w subdomenie _dmarc:
_dmarc.example.com. TXT "v=DMARC1; p=none; rua=mailto:[email protected]"
Robi trzy rzeczy:
- Wymaga dopasowania (alignment). Wiadomość przechodzi DMARC tylko wtedy, gdy SPF lub DKIM przeszły i domena, dla której przeszły, zgadza się z domeną w widocznym adresie „Od”. Dla SPF jest to domena Return-Path, dla DKIM domena z
d=. Domyślnie porównanie jest łagodne:mail.example.compasuje doexample.com. - Ustala politykę dla wiadomości, które nie przeszły:
none(tylko raport),quarantine(do spamu) lubreject(odrzucenie). - Włącza raporty. Dostawcy poczty wysyłają na adres
ruadzienne zestawienia — widać w nich każdy serwer wysyłający pocztę jako Twoja domena, także te zapomniane.
Wszystkie znaczniki, przejście od p=none do p=reject i czytanie raportów opisujemy w artykule Rekord DMARC: jak skonfigurować DMARC krok po kroku.
Jak SPF, DKIM i DMARC działają razem
| SPF | DKIM | DMARC | |
|---|---|---|---|
| Gdzie jest | TXT w domenie | TXT (lub CNAME) w selector._domainkey | TXT w _dmarc |
| Co sprawdza | IP nadawcy względem listy | Podpis względem klucza publicznego | Czy SPF lub DKIM przeszły dla domeny „Od” |
| Przetrwa przekierowanie | Zwykle nie | Zwykle tak, jeśli wiadomości nie zmieniono | Tak, jeśli przetrwa choć jedna dopasowana weryfikacja |
| Sam blokuje podszywanie | Nie | Nie | Tak, przy quarantine lub reject |
Wniosek praktyczny: DKIM jest solidniejszą połową, bo przetrwa przekierowanie. Dąż do tego, by każdy strumień prawdziwej poczty przechodził dopasowany DKIM, a SPF traktuj jako drugą linię.
Czego wymagają Gmail i Yahoo
Od lutego 2024 roku Google i Yahoo egzekwują opublikowane wymagania wobec nadawców, a inni duzi dostawcy poczty idą w tę samą stronę. W skrócie:
- Wszyscy wysyłający na prywatne skrzynki Gmail i Yahoo potrzebują SPF lub DKIM, poprawnego DNS w przód i wstecz (PTR) dla adresów wysyłki, TLS i niskiego odsetka zgłoszeń spamu.
- Nadawcy masowi (Google podaje próg około 5000 wiadomości dziennie do swoich użytkowników) potrzebują SPF i DKIM, rekordu DMARC co najmniej z
p=none, domeny „Od” dopasowanej do SPF lub DKIM oraz rezygnacji z subskrypcji jednym kliknięciem w wiadomościach marketingowych.
Lista kontrolna konfiguracji
- Spisz wszystkie usługi wysyłające pocztę jako Twoja domena: dostawcę poczty, formularz na stronie, newsletter, CRM, helpdesk, system faktur. Zapomniani nadawcy to główny powód, dla którego wdrożenie DMARC psuje pocztę.
- Opublikuj jeden rekord SPF obejmujący usługi, które używają Twojej domeny w Return-Path. Zmieść się w 10 zapytaniach DNS.
- Włącz DKIM w każdej usłudze z Twoją domeną, a nie domeną dostawcy. Usługa poda rekord TXT lub CNAME do opublikowania.
- Opublikuj DMARC z
p=nonei adresemrua, który ktoś czyta, albo adresem serwisu analizy raportów. - Czytaj raporty przez 2–4 tygodnie i popraw każde prawdziwe źródło, które nie przechodzi dopasowania.
- Zaostrzaj politykę stopniowo: quarantine, potem reject.
- Sprawdź otoczenie: sprawdzenie MX pokaże, gdzie odbierana jest poczta, a sprawdzenie IP na czarnych listach — czy adres wysyłki nie trafił do baz spamu. Resztę rekordów domeny omawia artykuł sprawdzanie rekordów DNS domeny.
Typowe błędy
Dwa rekordy SPF
Dodanie nowej usługi często kończy się drugim rekordem v=spf1 obok starego. Standard traktuje to jako błąd trwały, a wielu odbiorców ignoruje wtedy SPF w całości. Rekord SPF musi być dokładnie jeden — połącz w nim mechanizmy.
Ponad 10 zapytań DNS
Każde include, a, mx, ptr, exists i redirect kosztuje jedno zapytanie, a zagnieżdżone include też się liczą. Powyżej 10 wynikiem jest błąd trwały. Usuń nieużywane usługi, zastąp a/mx stałymi adresami IP, jeśli się nie zmieniają, i unikaj ptr.
Zewnętrzni nadawcy bez DKIM
Google Workspace, Microsoft 365, Mailchimp i podobne usługi potrafią podpisywać wiadomości Twoją domeną, ale zwykle dopiero po opublikowaniu ich rekordów DKIM i włączeniu podpisu. Wcześniej podpisują własną domeną albo wcale, a wiadomość nie przechodzi dopasowania DMARC.
p=reject pierwszego dnia
Ustawienie reject bez czytania raportów blokuje wszystkich zapomnianych nadawców: system faktur, formularz na stronie, partnera wysyłającego w Twoim imieniu. Zacznij od p=none, zbierz dane, potem zaostrzaj.
Domeny, które nie wysyłają poczty
Zaparkowane i zapasowe domeny są chętnie wykorzystywane do podszywania właśnie dlatego, że nikt ich nie pilnuje. Dla domeny bez poczty opublikuj v=spf1 -all i v=DMARC1; p=reject.
Prawdziwy przykład
Nasza domena publikuje v=DMARC1; p=none; rua=mailto:[email protected] i podpisuje pocztę kluczem DKIM o długości 2048 bitów z selektorem mail (sprawdzone w październiku 2026). To normalny etap monitorowania: raporty są zbierane, a politykę zaostrza się, gdy wszystkie źródła są potwierdzone. Sprawdź swoją domenę w sprawdzeniu DMARC, żeby zobaczyć, w którym miejscu jesteś.