Blog

Tips, guides, and privacy advice

← Back to Blog
Poradnik

SPF, DKIM i DMARC w prostych słowach (z przykładami)

Autor: Khaja Hussain·15 października 2026·7 min read

Po co poczcie w ogóle to wszystko

Oto niewygodna prawda o e-mailu: zaprojektowano go na początku lat 80. dla małej sieci ludzi, którzy sobie ufali. Domyślnie każdy może wysłać e-mail, który twierdzi, że pochodzi od [email protected]. W podstawowym protokole nic tego nie blokuje.

SPF, DKIM i DMARC dodano później, żeby to naprawić. Razem pozwalają stronie odbierającej, czyli np. Gmailowi, Outlookowi czy Yahoo, odpowiedzieć na jedno pytanie: czy ten e-mail naprawdę pochodzi z domeny, z której twierdzi, że pochodzi? Gdy odpowiedź brzmi „nie”, wiadomość ląduje w spamie albo zostaje odrzucona. A jeśli Twoja własna domena nie ma ich skonfigurowanych, Twoje prawdziwe e-maile mogą być traktowane jak podróbki.

Pomoże szybkie porównanie:

  • SPF to lista gości: które serwery mogą wysyłać e-maile w imieniu Twojej domeny.
  • DKIM to lakowa pieczęć: podpis, który dowodzi, że e-mail nie został zmieniony po drodze.
  • DMARC to instrukcje dla bramkarza: co zrobić, gdy e-mail nie przejdzie kontroli, i komu o tym powiedzieć.

SPF: lista gości

SPF (Sender Policy Framework) to jedna linijka tekstu, którą publikujesz w DNS swojej domeny. Wymienia serwery i usługi, które mogą wysyłać e-maile w Twoim imieniu. Gdy Gmail dostaje wiadomość z Twojej domeny, sprawdza tę listę i patrzy, czy serwer, który ją wysłał, jest na niej.

Typowy rekord SPF wygląda tak:

v=spf1 include:_spf.google.com include:sendgrid.net ~all

Czytając od lewej do prawej:

  • v=spf1: „to jest rekord SPF”.
  • include:_spf.google.com: Google Workspace może wysyłać w moim imieniu.
  • include:sendgrid.net: SendGrid też (powiedzmy, dla e-maili z mojej aplikacji).
  • ~all: cała reszta to prawdopodobnie nie ja, więc traktuj ją podejrzliwie. (-all oznacza „na pewno nie ja, odrzuć”.)
Dwa najczęstsze błędy w SPF: dwa rekordy SPF w tej samej domenie (trzeba je połączyć w jedną linijkę) i zapomniana usługa. Jeśli Twoje narzędzie do newslettera albo helpdesk wysyła e-maile z Twojej domeny, też musi być na liście.

Jest też limit 10 zapytań DNS w jednym rekordzie SPF. Liczy się każde include:, a także include'y zagnieżdżone w nich. Jeśli korzystasz z wielu usług, możesz przekroczyć limit, nawet o tym nie wiedząc, a wtedy SPF zawodzi dla wszystkich.

DKIM: lakowa pieczęć

SPF sprawdza, skąd przyszedł e-mail. DKIM (DomainKeys Identified Mail) sprawdza, czy sama wiadomość nie została zmieniona. Twoja usługa pocztowa podpisuje każdą wychodzącą wiadomość kluczem prywatnym, który zna tylko ona. Pasujący klucz publiczny publikujesz w swoim DNS. Serwer odbiorcy używa go do sprawdzenia podpisu.

Jeśli ktoś zmienił e-mail po drodze, choćby jedno słowo w treści, podpis przestaje się zgadzać. To jak lakowa pieczęć na dawnym liście: jeśli jest złamana, wiesz, że ktoś go otwierał.

Rekord DKIM publikuje się pod specjalną nazwą, na przykład google._domainkey.yourdomain.com, a jego wartość wygląda mniej więcej tak:

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu1...

Dobra wiadomość: nigdy nie piszesz tego sam. Generuje go Twój dostawca poczty, a Ty po prostu kopiujesz go do DNS. Słowo przed ._domainkey (tutaj google) nazywa się selektorem. Pozwala po prostu mieć kilka kluczy, po jednym na usługę.

DMARC: instrukcje dla bramkarza

SPF i DKIM dostarczają serwerowi odbiorcy faktów. DMARC (Domain-based Message Authentication, Reporting and Conformance) mówi mu, co z tymi faktami zrobić. Dodaje też jedną ważną zasadę zwaną wyrównaniem (alignment): domena, która przechodzi SPF lub DKIM, musi zgadzać się z domeną, którą czytelnik faktycznie widzi w polu „Od”. Bez tej zasady oszust mógłby przejść SPF ze swoją domeną, a wyświetlać Twoją.

Rekord DMARC znajduje się pod _dmarc.yourdomain.com i wygląda tak:

v=DMARC1; p=none; rua=mailto:[email protected]
  • p=none: tylko obserwuj, niczego jeszcze nie blokuj. Idealne na początek.
  • p=quarantine: e-maile, które nie przejdą kontroli, wysyłaj do spamu.
  • p=reject: całkowicie odrzucaj e-maile, które nie przejdą kontroli. Najsilniejsza ochrona.
  • rua=mailto:...: dokąd odbiorcy mają wysyłać Ci codzienne raporty zbiorcze.

Te raporty to ukryty skarb. Pokazują każdy serwer, który wysyła e-maile z użyciem Twojej domeny, w tym usługi, o których zapomniałeś, i każdego, kto próbuje się pod Ciebie podszywać.

Konfiguracja krok po kroku

Powiedzmy, że masz domenę myshop.com, skrzynkę w Google Workspace i usługę w rodzaju SendGrid albo Mailgun do potwierdzeń zamówień. Ja zrobiłbym to w takiej kolejności:

  1. Spisz wszystko, co wysyła e-maile z Twojej domeny: dostawcę skrzynki, stronę lub aplikację, narzędzie do newslettera, helpdesk, program do faktur. Ten krok ludzie pomijają i to on później sprawia najwięcej problemów.
  2. Utwórz jeden rekord SPF w DNS (rekord TXT na myshop.com), który obejmuje je wszystkie i kończy się na ~all.
  3. Włącz DKIM w każdej usłudze. Każda da Ci rekord do skopiowania do DNS. Potem kliknij w tej usłudze „zweryfikuj” albo „rozpocznij uwierzytelnianie”.
  4. Dodaj rekord DMARC z p=none i adresem do raportów, na _dmarc.myshop.com.
  5. Odczekaj tydzień lub dwa i przeczytaj raporty. Napraw wszystko, co jest legalne, a nie przechodzi.
  6. Zaostrz politykę do p=quarantine, a później do p=reject, gdy będziesz pewien, że wszystkie Twoje prawdziwe e-maile przechodzą.
Zmiany w DNS mogą rozchodzić się po świecie od kilku minut do kilku godzin. Jeśli kontrola nie przechodzi zaraz po dodaniu rekordu, daj temu chwilę, zanim zaczniesz cokolwiek zmieniać.

Jak sprawdzić je w każdym otrzymanym e-mailu

Nie potrzebujesz żadnych narzędzi. Twoja aplikacja pocztowa już pokazuje wyniki:

  • Gmail: otwórz e-mail, kliknij trzy kropki, a potem Pokaż oryginał. Na górze zobaczysz linijki w stylu SPF: PASS, DKIM: PASS i DMARC: PASS.
  • Outlook: otwórz wiadomość, potem View i View message details (albo Message source) i poszukaj nagłówka Authentication-Results.
  • Apple Mail: View, potem Message, potem All Headers.

Prawdziwy nagłówek wygląda mniej więcej tak:

Authentication-Results: mx.google.com;
  dkim=pass header.d=myshop.com;
  spf=pass smtp.mailfrom=myshop.com;
  dmarc=pass (p=QUARANTINE) header.from=myshop.com

Trzy razy „pass” i zgodne domeny: ten e-mail jest prawdziwy. Jeśli widzisz fail albo domeny nie zgadzają się z nadawcą, którego widzisz, uważaj. To jeden z sygnałów ostrzegawczych, które opisuję w artykule jak rozpoznać e-mail phishingowy.

Jeśli konfigurujesz własną domenę, szybki test wygląda tak: wyślij e-mail do tymczasowej skrzynki i na adres Gmail, a potem sprawdź nagłówki kopii w Gmailu. Zajmuje to dwie minuty i pokazuje dokładnie to, co widzi świat zewnętrzny.

Częste problemy i szybkie poprawki

  • „SPF: softfail” albo „neutral”: serwera, który wysłał e-mail, nie ma w Twoim rekordzie SPF. Dodaj usługę za pomocą include:, które od niej dostaniesz.
  • „SPF permerror”: zwykle dwa rekordy SPF albo ponad 10 zapytań. Połącz je w jeden rekord i usuń usługi, z których już nie korzystasz.
  • „DKIM: fail” po edycji szablonu: coś przepisało e-mail już po podpisaniu (robią tak niektóre usługi przekierowujące i stopki e-maili). Wyślij bezpośrednio i przetestuj ponownie.
  • DMARC nie przechodzi, choć SPF przechodzi: to kwestia wyrównania. SPF przeszedł dla domeny Twojej usługi wysyłkowej, a nie dla Twojej. Włącz w tej usłudze DKIM z własną domeną albo ustaw własną domenę return-path.
  • E-maile nadal trafiają do spamu, choć wszystko przechodzi: uwierzytelnianie dowodzi, kim jesteś, a nie że ludzie chcą Twoich e-maili. Liczą się też treść, reputacja nadawcy i liczba zgłoszeń. Piszę o tym więcej w artykule dlaczego e-maile z aplikacji trafiają do spamu.

Czy naprawdę potrzebujesz wszystkich trzech?

Tak. Od 2024 roku Gmail i Yahoo wymagają SPF, DKIM i rekordu DMARC od każdego, kto wysyła większe ilości e-maili, a nawet mali nadawcy mają znacznie lepszą dostarczalność, gdy mają skonfigurowane wszystkie trzy. Co ważniejsze, to właśnie DMARC z p=reject powstrzymuje oszustów przed wysyłaniem fałszywych e-maili w Twoim imieniu do Twoich własnych klientów.

Konfiguracja zajmuje jedno popołudnie. Potem po cichu chroni Twoją domenę każdego dnia. Jeśli masz domenę i odkładasz to od dawna, to jest Twój znak. Zacznij dziś od p=none. Zaostrzyć możesz później.