Dostarczalność · 7 min czytania
SPF, DKIM i DMARC w dziesięć minut
Trzy rekordy DNS, które decydują o tym, czy twój e-mail trafi do skrzynki odbiorczej, czy do spamu. Co robi każdy z nich, jak je skonfigurować w Google Workspace i Microsoft 365 i jak sprawdzić, czy działają.
Możesz napisać najlepszy e-mail w swoim życiu i nikt go nie przeczyta. Nie dlatego, że temat jest słaby, tylko dlatego, że serwer odbiorcy nie wie, czy naprawdę wysłałeś go ty – a w razie wątpliwości wrzuca go do spamu.
Żeby rozwiać te wątpliwości, istnieją trzy rekordy publikowane w DNS twojej domeny: SPF, DKIM i DMARC. Od 2024 roku Gmail i Yahoo wymagają ich od każdego, kto wysyła e-maile do ich użytkowników, a od 2025 roku także Outlook. Dobra wiadomość jest taka, że konfiguruje się je raz, w jakieś dziesięć minut, i nie trzeba do nich wracać. W tym artykule wyjaśniamy, co robi każdy z nich, jak je skonfigurować w Google Workspace i Microsoft 365 i jak sprawdzić, czy działają.
Problem: każdy może wpisać twój adres
Poczta e-mail powstała w czasach, gdy nikt nie myślał o podszywaniu się pod innych. Protokół pozwala dowolnemu serwerowi wysłać wiadomość z nagłówkiem „Od: anna@twojafirma.pl”, tak samo jak każdy może wpisać twój adres jako nadawcę na odwrocie koperty.
SPF, DKIM i DMARC to sposób, żeby udowodnić, że koperta jest twoja. Każdy z nich odpowiada na inne pytanie:
- SPF: czy ten serwer ma pozwolenie na wysyłanie poczty z tej domeny?
- DKIM: czy wiadomość ma podpis domeny i czy nikt jej nie zmienił po drodze?
- DMARC: jeśli coś z powyższego zawiedzie, co ma zrobić serwer odbiorcy? I komu ma o tym powiedzieć?
Dobrym porównaniem jest list polecony: SPF to lista urzędów pocztowych upoważnionych do nadawania w twoim imieniu, DKIM to lakowa pieczęć, a DMARC to instrukcje, które zostawiasz w urzędzie docelowym, co zrobić z listem bez pieczęci.
SPF: kto może wysyłać w twoim imieniu
SPF (Sender Policy Framework) to rekord tekstowy (TXT) w twojej domenie z listą serwerów, które mogą wysyłać pocztę w jej imieniu. Gdy przychodzi wiadomość, serwer docelowy sprawdza, skąd pochodzi, i porównuje to z tą listą.
Rekord SPF wygląda tak:
v=spf1 include:_spf.google.com ~all
v=spf1oznacza, że to rekord SPF.include:_spf.google.comupoważnia serwery Google Workspace. W Microsoft 365 byłoby toinclude:spf.protection.outlook.com.~allmówi, że każdy inny serwer „prawdopodobnie nie” jest upoważniony (miękki błąd). Przy-allbłąd jest twardy.
Trzy częste błędy:
- Dwa rekordy SPF. Na domenę może przypadać tylko jeden. Jeśli korzystasz z Google Workspace, a do tego z narzędzia do fakturowania, które wysyła e-maile, oba
includetrafiają do tego samego rekordu:v=spf1 include:_spf.google.com include:innausluga.pl ~all. - Więcej niż dziesięć zapytań. Każdy
includeliczy się jako jedno zapytanie DNS, a niektóre kryją w sobie kolejne. Norma ustala limit dziesięciu; powyżej niego sprawdzenie się nie powiedzie. - Pominięta usługa. Jeśli wysyłasz z serwera, którego nie ma na liście (twoja strona, twój CRM, narzędzie do prospectingu z własnym SMTP), te e-maile nie przejdą SPF.
DKIM: podpis każdego e-maila
DKIM (DomainKeys Identified Mail) dodaje do każdego e-maila podpis cyfrowy. Twój dostawca podpisuje wiadomość kluczem prywatnym, który ma tylko on, a ty publikujesz w DNS klucz publiczny, żeby każdy mógł ten podpis sprawdzić. Jeśli ktoś po drodze zmieni w wiadomości choćby przecinek, podpis przestaje się zgadzać.
W przeciwieństwie do SPF klucza DKIM nie wymyślasz sam: generuje go twój dostawca poczty, a ty tylko kopiujesz go do DNS.
- Google Workspace: w konsoli administracyjnej przejdź do Apps › Google Workspace › Gmail › Authenticate email, wygeneruj klucz 2048-bitowy i skopiuj rekord TXT, który otrzymasz, pod nazwą
google._domainkey. Następnie wróć do konsoli i kliknij Start authentication. - Microsoft 365: w portalu Microsoft Defender, w ustawieniach DKIM twojej domeny, zobaczysz dwa rekordy CNAME (
selector1._domainkeyiselector2._domainkey). Tworzysz je w swoim DNS i włączasz podpisywanie.
Część przed ._domainkey nazywa się selektorem. Dzięki niemu jedna domena może mieć kilka kluczy, na przykład jeden dla Google, a drugi dla narzędzia do fakturowania.
DMARC: co zrobić, gdy coś zawiedzie
SPF i DKIM coś sprawdzają, ale nie mówią, co zrobić, gdy sprawdzenie się nie powiedzie. To mówi DMARC (Domain-based Message Authentication, Reporting and Conformance), który dodaje ważny warunek: zgodność domen (ang. alignment). Nie wystarczy, że e-mail przejdzie SPF lub DKIM; domena, która je przechodzi, musi być tą samą, którą odbiorca widzi w polu „Od:”.
Rekord DMARC to kolejny TXT, pod nazwą _dmarc w twojej domenie:
v=DMARC1; p=none; rua=mailto:dmarc@twojafirma.pl
p=to polityka:none(nic nie rób, tylko mnie informuj),quarantine(wrzuć do spamu) alboreject(odrzuć).rua=to adres, na który duzi dostawcy wysyłają ci codzienne raporty o tym, kto wysyła pocztę w imieniu twojej domeny i czy przechodzi ona sprawdzenia.
Jak iść naprzód, niczego nie psując:
- Zacznij od
p=nonei adresurua. To minimum, którego wymagają Google, Yahoo i Microsoft. - Przez kilka tygodni przeglądaj raporty (są darmowe usługi, które zamieniają je w coś czytelnego). Szukaj prawidłowych usług, które nie przechodzą sprawdzeń: strony wysyłającej formularze, narzędzia do fakturowania, newslettera.
- Gdy wszystko, co prawidłowe, przechodzi, podnieś politykę do
p=quarantine, a później dop=reject. Od tej chwili każdy, kto spróbuje podszyć się pod twoją domenę, będzie miał bardzo trudne zadanie.
Czego wymagają Gmail, Yahoo i Outlook
Od lutego 2024 roku Google i Yahoo wymagają od wszystkich nadawców SPF lub DKIM. Od tych, którzy wysyłają ponad 5000 e-maili dziennie na konta Gmaila, wymagają dodatkowo SPF, DKIM i DMARC (wystarczy p=none), zgodności z domeną z pola „Od:”, wypisania się jednym kliknięciem i wskaźnika zgłoszeń spamu poniżej 0,3%. Od maja 2025 roku Outlook wymaga tego samego od nadawców o dużym wolumenie.
Jeśli prowadzisz prospecting ze swojej skrzynki, prawdopodobnie nie dobijasz do 5000 dziennie. Ale filtry nie tylko stosują reguły: oceniają też zaufanie. Domena z trzema poprawnie skonfigurowanymi rekordami startuje z przewagą nad domeną, która ich nie ma, nawet jeśli wysyła mało.
Jak sprawdzić, czy działa
Najprostszy sposób nie wymaga żadnych narzędzi:
- Wyślij e-mail ze swojej skrzynki na konto Gmail.
- Otwórz go, kliknij trzy kropki i wybierz Pokaż oryginał.
- Na górze zobaczysz trzy linie: SPF: PASS, DKIM: PASS i DMARC: PASS. Jeśli któraś mówi FAIL albo jej nie ma, już wiesz, co sprawdzić.
Pamiętaj, że propagacja zmian w DNS może trwać od kilku minut do kilku godzin. Jeśli dopiero co utworzyłeś rekord, a sprawdzenie się nie udaje, odczekaj chwilę, zanim zaczniesz zmieniać cokolwiek innego.
Lista na dziesięć minut
- Jeden rekord SPF ze wszystkimi usługami, które wysyłają w twoim imieniu.
- DKIM wygenerowany u twojego dostawcy (Google Workspace lub Microsoft 365), opublikowany w DNS i włączony.
- Rekord DMARC pod
_dmarczp=nonei adresemruana raporty. - Test przez „Pokaż oryginał” w Gmailu: trzy razy PASS.
- Za kilka tygodni: przejrzeć raporty i podnieść politykę do
quarantine.
Dzięki temu e-mail, nad którym tak się napracowałeś, ma przynajmniej szansę, że ktoś go przeczyta.
Źródła
- Google. Wytyczne dla nadawców e-maili.
- Yahoo. Dobre praktyki dla nadawców (Sender Hub).
- Microsoft. Strengthening Email Ecosystem: Outlook’s New Requirements for High-Volume Senders (2025).
- IETF. RFC 7208: Sender Policy Framework (SPF).
- IETF. RFC 6376: DomainKeys Identified Mail (DKIM) Signatures.
- IETF. RFC 7489: Domain-based Message Authentication, Reporting, and Conformance (DMARC).
Najczęstsze pytania
Czy potrzebuję wszystkich trzech rekordów, jeśli wysyłam mało e-maili?
Google i Yahoo wymagają SPF lub DKIM od każdego nadawcy, a wszystkich trzech od tych, którzy wysyłają dużo. Ale nawet jeśli wysyłasz mało, skonfigurowanie całej trójki zajmuje dziesięć minut i to właśnie dzięki temu filtry ufają twojej domenie. Nie ma żadnego powodu, żeby któryś pominąć.
Czy mogę mieć dwa rekordy SPF?
Nie. Domena może mieć tylko jeden rekord SPF; jeśli są dwa, sprawdzenie kończy się błędem i to tak, jakby nie było żadnego. Jeśli korzystasz z kilku usług, łączysz je wszystkie w jednym rekordzie za pomocą kilku „include”.
Po jakim czasie zmiany zaczynają działać?
Zwykle po kilku minutach lub kilku godzinach, zależnie od czasu buforowania (TTL) u twojego dostawcy DNS. W rzadkich przypadkach może to potrwać do 48 godzin. Jeśli następnego dnia nadal nie działa, sprawdź, czy rekord jest dodany pod właściwą nazwą.
Czy p=none przed czymś mnie chroni?
Samo w sobie nie: mówi serwerowi odbiorcy, żeby nic nie robił, jeśli sprawdzenie się nie powiedzie. Ale włącza raporty i spełnia wymóg Google, Yahoo i Microsoftu. To pierwszy krok; gdy raporty będą czyste, możesz przejść na quarantine.