SPF, DKIM, DMARC krok po kroku - tutorial DNS
Praktyczny tutorial konfiguracji SPF, DKIM i DMARC w DNS - dla Google Workspace, Microsoft 365 i własnej domeny. Gotowe rekordy, kroki wdrożenia i weryfikacja.
Krótka odpowiedź
Żeby skonfigurować SPF, DKIM i DMARC, dodajesz trzy rekordy w panelu DNS swojej domeny: rekord TXT z SPF autoryzujący serwery wysyłkowe, rekord TXT z kluczem DKIM pod selektorem oraz rekord TXT z polityką DMARC pod _dmarc. Ten tutorial pokazuje dokładne kroki dla Google Workspace, Microsoft 365 i własnej domeny.
Żeby skonfigurować SPF, DKIM i DMARC, dodajesz trzy rekordy w panelu DNS swojej domeny: rekord TXT z SPF autoryzujący serwery wysyłkowe, rekord TXT z kluczem DKIM pod selektorem oraz rekord TXT z polityką DMARC pod _dmarc. Ten tutorial pokazuje dokładne kroki dla Google Workspace, Microsoft 365 i własnej domeny.
Tekst zakłada, że masz już dostęp do panelu DNS (u rejestratora, w hostingu, cPanel albo Cloudflare) i konto pocztowe u jednego z dostawców. Pełny kontekst teoretyczny i zasady działania znajdziesz w kanonicznym poradniku [SPF, DKIM, DMARC - konfiguracja](/poradnik/spf-dkim-dmarc-konfiguracja). Tutaj skupiamy się na konkretnych krokach wdrożenia.
Czym są SPF, DKIM i DMARC?
To trzy uzupełniające się mechanizmy uwierzytelniania poczty. Każdy odpowiada za inną warstwę, a razem mówią serwerowi odbiorcy, że wiadomość naprawdę pochodzi od Ciebie.
- SPF (Sender Policy Framework) to lista serwerów uprawnionych do wysyłki z Twojej domeny, zapisana jako rekord TXT. Serwer odbiorcy sprawdza, czy adres IP nadawcy jest na liście.
- DKIM (DomainKeys Identified Mail) to podpis kryptograficzny dodawany do każdej wiadomości. Klucz prywatny zostaje u dostawcy poczty, a klucz publiczny publikujesz w DNS, żeby odbiorca mógł zweryfikować podpis.
- DMARC (Domain-based Message Authentication, Reporting and Conformance) to polityka spinająca SPF i DKIM. Określa, co zrobić z wiadomością, która nie przeszła uwierzytelnienia, i gdzie wysyłać raporty.
Kolejność wdrożenia jest stała: najpierw SPF, potem DKIM, na końcu DMARC. DMARC opiera się na dwóch pierwszych, więc publikujesz go dopiero, gdy SPF i DKIM działają poprawnie. Od 2024 roku Gmail i Yahoo wymagają kompletu wszystkich trzech od nadawców masowych, więc to nie jest opcja, tylko warunek dostarczalności.
| Mechanizm | Gdzie w DNS | Typ rekordu | Co weryfikuje |
|---|---|---|---|
| SPF | domena główna (@) | TXT | Czy IP serwera ma prawo wysyłać |
| DKIM | selektor._domainkey | TXT (lub CNAME) | Czy treść jest podpisana i nienaruszona |
| DMARC | _dmarc | TXT | Co zrobić, gdy SPF/DKIM zawiodą |
Jak ustawić SPF?
SPF to pojedynczy rekord TXT opublikowany na domenie głównej. Najważniejsza zasada: jedna domena ma dokładnie jeden rekord SPF. Jeśli korzystasz z kilku usług wysyłkowych, nie tworzysz kilku rekordów, tylko łączysz wszystkie mechanizmy include w jednym wpisie.
Składnia rekordu jest prosta:
v=[spf](/poradnik/spf-dkim-dmarc-konfiguracja)1 include:_[spf](/poradnik/spf-dkim-dmarc-konfiguracja).google.com ~all
v=[spf](/poradnik/spf-dkim-dmarc-konfiguracja)1to wersja protokołu, zawsze na początku.include:...dołącza zakres serwerów danego dostawcy.~allna końcu to softfail - wiadomości spoza listy są oznaczane jako podejrzane, ale przepuszczane. Wariant-allto hardfail, który każe odrzucać taką pocztę.
Na start poczty produkcyjnej zostań przy ~all. Przejście na -all jest bezpieczne dopiero wtedy, gdy masz pewność, że wszystkie legalne źródła wysyłki są w rekordzie. Rekord złożysz bez błędów [generatorem SPF](/narzedzia/generator-spf).
Google Workspace / Gmail
Dla Google Workspace mechanizm include wskazuje _[spf](/poradnik/spf-dkim-dmarc-konfiguracja).google.com:
v=[spf](/poradnik/spf-dkim-dmarc-konfiguracja)1 include:_[spf](/poradnik/spf-dkim-dmarc-konfiguracja).google.com ~all
Kroki:
- Zaloguj się do panelu DNS swojej domeny (u rejestratora lub w hostingu).
- Dodaj rekord TXT z nazwą
@(lub pustą, zależnie od panelu) i wartością powyżej. - Zapisz i odczekaj na propagację.
Microsoft 365 / Outlook
Dla Microsoft 365 zakres serwerów to [spf](/poradnik/spf-dkim-dmarc-konfiguracja).protection.outlook.com:
v=[spf](/poradnik/spf-dkim-dmarc-konfiguracja)1 include:[spf](/poradnik/spf-dkim-dmarc-konfiguracja).protection.outlook.com -all
Microsoft w dokumentacji rekomenduje -all, bo zakres serwerów jest dobrze zdefiniowany. Jeśli jednak wysyłasz też z innych narzędzi, najpierw dodaj ich include, a dopiero potem zaostrzaj politykę.
Łączenie kilku dostawców
Jeśli wysyłasz jednocześnie z Google Workspace i zewnętrznego narzędzia, łączysz mechanizmy w jednym rekordzie, na przykład:
v=[spf](/poradnik/spf-dkim-dmarc-konfiguracja)1 include:_[spf](/poradnik/spf-dkim-dmarc-konfiguracja).google.com include:[spf](/poradnik/spf-dkim-dmarc-konfiguracja).protection.outlook.com ~all
Uważaj na limit dziesięciu odwołań DNS (lookup) w jednym rekordzie SPF. Każdy include to co najmniej jedno odwołanie. Po przekroczeniu limitu rekord przestaje być przetwarzany (błąd permerror), więc nie dokładaj include dla usług, których realnie nie używasz.
Jak skonfigurować DKIM?
DKIM opiera się na parze kluczy. Klucz prywatny przechowuje dostawca poczty i nim podpisuje wychodzące wiadomości, a Ty publikujesz w DNS klucz publiczny. Klucz publiczny trafia do rekordu TXT pod nazwą złożoną z selektora i sufiksu _domainkey, czyli na przykład selector._domainkey.twojadomena.pl.
Selektor to etykieta pozwalająca trzymać kilka kluczy równolegle (przydaje się przy rotacji). Dostawca podaje gotową nazwę selektora i wartość rekordu, więc Twoim zadaniem jest tylko wkleić je do DNS.
Google Workspace / Gmail
W Google Workspace klucz DKIM generujesz w panelu administracyjnym:
- Wejdź w konsolę administratora Google: Apps > Google Workspace > Gmail > Uwierzytelnianie poczty (Authenticate email).
- Wybierz domenę i wygeneruj nowy rekord. Domyślny selektor to
google, a zalecana długość klucza to 2048 bitów. - Google pokaże nazwę hosta (np.
google._domainkey) i wartość TXT z kluczem publicznym. - Dodaj ten rekord TXT w panelu DNS domeny.
- Wróć do konsoli i kliknij Rozpocznij uwierzytelnianie (Start authentication).
Przykładowa nazwa i format rekordu (wartość skrócona):
Nazwa: google._domainkey
Typ: TXT
Wartość: v=DKIM1; k=rsa; p=MIIBIjANBgkqhki...AB
Aktywacja po stronie Google jest kluczowa - sam rekord w DNS nie wystarczy, dopóki nie klikniesz "Rozpocznij uwierzytelnianie".
Microsoft 365 / Outlook
W Microsoft 365 DKIM włączasz w panelu Microsoft Defender (Exchange Online Protection):
- Wejdź w Microsoft Defender > Email & collaboration > Policies & rules > Threat policies > Email authentication settings > DKIM.
- Wybierz domenę i włącz podpisywanie (przełącznik "Sign messages for this domain with DKIM signatures").
- Microsoft 365 korzysta z dwóch selektorów (
selector1iselector2) opublikowanych jako rekordy CNAME wskazujące na infrastrukturę Microsoftu.
Rekordy CNAME wyglądają tak:
Nazwa: selector1._domainkey Wartość: selector1-twojadomena-pl._domainkey.twojafirma.onmicrosoft.com
Nazwa: selector2._domainkey Wartość: selector2-twojadomena-pl._domainkey.twojafirma.onmicrosoft.com
Dodaj oba CNAME w DNS, a potem włącz przełącznik w panelu. Dwa selektory pozwalają Microsoftowi rotować klucze bez przerwy w podpisywaniu.
Własna domena / inny serwer pocztowy
Jeśli wysyłasz z własnego serwera (Postfix z OpenDKIM, narzędzie SMTP, hosting z cPanel), kroki są analogiczne:
- Wygeneruj parę kluczy w panelu narzędzia lub komendą (OpenDKIM tworzy plik z kluczem publicznym).
- Klucz prywatny zostaje na serwerze, w konfiguracji podpisywania.
- Klucz publiczny publikujesz jako rekord TXT pod wybranym selektorem, np.
mail._domainkey.
Format rekordu jest taki sam jak u Google:
Nazwa: mail._domainkey
Typ: TXT
Wartość: v=DKIM1; k=rsa; p=MIIBIjANBgkqhki...AB
W cPanel cała operacja sprowadza się zwykle do sekcji Email Deliverability, gdzie panel sam proponuje brakujące rekordy SPF i DKIM do dodania jednym kliknięciem.
Jak wdrożyć DMARC krok po kroku?
DMARC to rekord TXT publikowany pod nazwą _dmarc.twojadomena.pl. Definiuje politykę, czyli co serwer odbiorcy ma zrobić z wiadomością, która nie przeszła SPF ani DKIM, oraz adres do raportów. Rekord wygodnie złożysz generatorem DMARC.
Minimalny, startowy rekord:
Nazwa: _dmarc
Typ: TXT
Wartość: v=DMARC1; p=none; rua=mailto:dmarc@twojadomena.pl
Znaczenie najważniejszych parametrów:
v=DMARC1- wersja, zawsze na początku.p=- polityka główna:none(tylko monitoruj),quarantine(kieruj do spamu),reject(odrzucaj).rua=- adres na zbiorcze raporty (aggregate), które codziennie podsumowują, ile wiadomości przeszło uwierzytelnienie.ruf=- adres na raporty forensyczne (szczegóły pojedynczych niezgodnych wiadomości); wielu dostawców ich nie wysyła, więc traktuj jako opcjonalne.pct=- procent wiadomości objętych polityką, np.pct=25stosuje politykę do jednej czwartej ruchu (przydatne przy stopniowym zaostrzaniu).a[spf](/poradnik/spf-dkim-dmarc-konfiguracja)=iadkim=- tryb dopasowania domeny dla SPF i DKIM:r(relaxed, domyślny, dopuszcza subdomeny) lubs(strict, wymaga dokładnej zgodności).
Wdrożenie etapami
DMARC wdraża się stopniowo, żeby nie zablokować legalnej poczty, zanim potwierdzisz, że wszystko jest poprawnie uwierzytelnione.
| Etap | Polityka | Cel | Jak długo |
|---|---|---|---|
| 1. Monitoring | p=none | Zbierasz raporty, sprawdzasz źródła wysyłki | 2-4 tygodnie |
| 2. Kwarantanna | p=quarantine | Niezgodne wiadomości trafiają do spamu | 2-4 tygodnie |
| 3. Odrzucanie | p=reject | Pełna ochrona, niezgodna poczta odrzucana | docelowo |
Przykład rekordu na etapie kwarantanny z częściowym pokryciem i kontaktem na raporty forensyczne:
v=DMARC1; p=quarantine; pct=50; rua=mailto:dmarc@twojadomena.pl; ruf=mailto:dmarc@twojadomena.pl; a[spf](/poradnik/spf-dkim-dmarc-konfiguracja)=r; adkim=r
Kroki wdrożenia są identyczne dla każdego dostawcy, bo DMARC to czysty rekord DNS, niezależny od tego, czy poczta chodzi przez Google, Microsoft czy własny serwer:
- Opublikuj rekord z
p=none. - Przez kilka dni czytaj raporty
rua(najlepiej w narzędziu, które parsuje XML do czytelnej tabeli). - Upewnij się, że cała legalna wysyłka przechodzi SPF lub DKIM.
- Zmień politykę na
p=quarantine, ewentualnie zpctponiżej 100, by ograniczyć ryzyko. - Gdy raporty są stabilnie czyste, przejdź na
p=reject.
Nie zaczynaj od p=reject. Wystawienie tej polityki bez wcześniejszego monitoringu potrafi wrzucić do spamu albo całkowicie zablokować Twoje własne wiadomości wysyłane przez narzędzia, o których zapomniałeś (np. systemy fakturujące czy newsletter).
Jak sprawdzić, czy działa?
Po dodaniu rekordów musisz odczekać na propagację DNS i zweryfikować poprawność. Propagacja zwykle trwa od kilkunastu minut do kilku godzin, a w skrajnych przypadkach do 24-48 godzin, zależnie od wartości TTL ustawionej na rekordach.
Weryfikacja z linii poleceń
Najszybciej sprawdzisz rekordy komendą dig (na macOS i Linux) lub nslookup (na Windows):
dig TXT twojadomena.pl +short
dig TXT google._domainkey.twojadomena.pl +short
dig TXT _dmarc.twojadomena.pl +short
Pierwsza komenda pokaże rekord SPF, druga klucz DKIM dla selektora google, trzecia politykę DMARC. Jeśli zwracają pustą odpowiedź, rekord albo jeszcze się nie rozpropagował, albo ma błędną nazwę.
Narzędzia online
Jeśli nie chcesz używać terminala:
- MXToolbox (mxtoolbox.com) - osobne testy
[SPF](/poradnik/spf-dkim-dmarc-konfiguracja) Record Lookup,DKIM Lookup(podajesz selektor) iDMARC Lookup. - Panel raportów DMARC - przetwarza raporty
ruaw czytelne zestawienia, które pokazują, ile wiadomości przeszło uwierzytelnienie z podziałem na źródła. - Wysyłka testowa na adres w Gmailu i podejrzenie Pokaż oryginał (Show original) - Google wyświetla wprost status
PASSlubFAILdla SPF, DKIM i DMARC.
Najprościej przepuścić całą domenę przez [audyt dostarczalności](/narzedzia/audyt-dostarczalnosci), który sprawdza wszystkie trzy warstwy naraz i pokazuje, czego brakuje. Zanim ruszysz z kampanią cold mail, warto przejść też pełną checklistę dostarczalności, bo poprawne rekordy to fundament, ale nie całość układanki.
Najczęstsze pytania (FAQ)
Czy mogę mieć dwa rekordy SPF na jednej domenie?
Nie. Jedna domena ma dokładnie jeden rekord SPF. Jeśli masz dwa, większość serwerów odbiorców zwróci błąd permerror i potraktuje uwierzytelnienie jako nieudane. Kilka usług łączysz przez wiele mechanizmów include w jednym wpisie.
Po co DKIM, skoro mam już SPF? SPF autoryzuje serwer po adresie IP, ale nie zabezpiecza treści ani nie przechodzi poprawnie przy przekazywaniu wiadomości (forwarding). DKIM podpisuje treść kryptograficznie, więc weryfikacja działa nawet po przekazaniu maila. DMARC wymaga, by przeszedł przynajmniej jeden z nich w zgodzie z domeną nadawcy.
Jak długo czekać na propagację rekordów? Zwykle od kilkunastu minut do kilku godzin. Maksymalnie do 24-48 godzin, w zależności od wartości TTL. Jeśli planujesz zmiany, obniż TTL z wyprzedzeniem, żeby nowe rekordy weszły szybciej.
Czy DMARC z p=none cokolwiek chroni?
Polityka p=none niczego nie blokuje - tylko monitoruje i zbiera raporty. To celowy, bezpieczny start, który pozwala wychwycić wszystkie legalne źródła wysyłki, zanim przejdziesz na quarantine i reject. Dopiero te dwie polityki realnie chronią przed podszywaniem.
Różnica między ~all a -all w SPF?
~all to softfail: wiadomości z serwerów spoza listy są oznaczane jako podejrzane, ale dostarczane. -all to hardfail: takie wiadomości mają być odrzucane. Zaczynaj od ~all, a na -all przechodź dopiero, gdy masz pewność, że wszystkie źródła wysyłki są w rekordzie.
Czy konfiguracja różni się między Gmail, Outlook a własną domeną?
Tylko w przypadku SPF i DKIM, bo wartości include i sposób generowania klucza zależą od dostawcy. DMARC to ten sam rekord DNS niezależnie od poczty - publikujesz go pod _dmarc i wdrażasz etapami identycznie dla każdego dostawcy.
Podsumowanie
Konfiguracja SPF, DKIM i DMARC sprowadza się do dodania trzech rekordów TXT w panelu DNS, ale kolejność i szczegóły per dostawca decydują o tym, czy wszystko zadziała. Zacznij od jednego rekordu SPF z właściwym include (Google _[spf](/poradnik/spf-dkim-dmarc-konfiguracja).google.com, Microsoft [spf](/poradnik/spf-dkim-dmarc-konfiguracja).protection.outlook.com), potem opublikuj klucz publiczny DKIM pod selektorem i aktywuj podpisywanie po stronie dostawcy, a na końcu wdrażaj DMARC etapami: none, quarantine, reject.
Po każdej zmianie weryfikuj rekordy przez dig, MXToolbox albo audyt dostarczalności i daj czas na propagację. Gdy chcesz prowadzić kampanie cold mail na poprawnie uwierzytelnionej domenie i z wbudowaną kontrolą dostarczalności na zgodnych z polskim rynkiem danych, załóż konto w OutreachPilot.
Źródła:
- Google Workspace - uwierzytelnianie poczty (SPF, DKIM, DMARC) - https://support.google.com/a/answer/33786
- Microsoft Learn - email authentication w Microsoft 365 - https://learn.microsoft.com
- Specyfikacje protokołów: SPF (RFC 7208), DKIM (RFC 6376), DMARC (RFC 7489)
Gotowy na automatyczny cold outreach?
Znajdź klientów B2B z CEIDG i Google Maps. AI pisze spersonalizowane maile po polsku, a darmowe konto pozwala przygotować pierwszą kampanię bez karty.
Podobne artykuły
Jak nie trafić do spamu - checklist przed kampanią
Kompletna checklista przed wysyłką cold maila: SPF, DKIM, DMARC, rozgrzewka domeny, reputacja IP, walidacja bazy, treść bez spam-triggerów i bezpieczny wolumen.
Dlaczego cold maile trafiają do spamu i jak to naprawić w 2026
7 najczęstszych przyczyn, przez które cold maile lądują w spamie: brak SPF/DKIM/DMARC, zła reputacja domeny, spamowa treść, za duży wolumen. Diagnoza krok po kroku i jak to naprawić.
Bounce rate w cold mailingu: co to jest i jak go obniżyć poniżej 2%
Bounce rate to procent maili odbitych przez serwer odbiorcy. Czym różni się hard bounce od soft bounce, jak weryfikować adresy przed wysyłką i jak zejść poniżej 2%.