Prawidłowa konfiguracja e-mail: SPF, DKIM i DMARC dla początkujących (Część 3 z 3)
Seria „Własny serwer – od 0 do bezpieczeństwa" · 3 części:
- Konfiguracja i zabezpieczenie serwera Debian vServer
- Instalacja i konfiguracja Froxlora
- Prawidłowa konfiguracja e-mail: SPF, DKIM i DMARC ← Jesteś tutaj
Ten poradnik to Część 3 i kończy serię. Zakłada serwer z serwerem poczty, jaki zbudowały Część 1 i Część 2.

Spis treści
- Wymagania wstępne
- Czym są SPF, DKIM i DMARC?
- Krok 1: Konfiguracja SPF
- Krok 2: Konfiguracja DKIM (podpisywanie na własnym serwerze)
- Krok 3: Konfiguracja DMARC
- Krok 4: Sprawdzenie i testowanie wszystkiego
- Częste błędy i rozwiązania
- Lista kontrolna
- Najczęściej zadawane pytania (FAQ)
- Podsumowanie
- Źródła
W skrócie: SPF, DKIM i DMARC to trzy rekordy w DNS Twojej domeny. Dowodzą, że e-mail naprawdę pochodzi od Ciebie. Bez nich Twoje wiadomości dziś często lądują w spamie – albo są całkiem odrzucane. Od 2024 Google i Yahoo wymagają tej autentykacji, Microsoft od 2025. Konfiguracja zajmuje 20–30 minut.
Jeśli wysyłasz e-maile przez własny serwer (np. faktury lub wiadomości z formularza kontaktowego), nie wystarczy „po prostu" prowadzić serwer poczty. Musisz też udowodnić serwerom odbierającym, że mail jest prawdziwy. Służą do tego trzy elementy. Skonfigurujemy wszystkie trzy – przyjaźnie początkującym i do skopiowania.
Wymagania wstępne
- Serwer z serwerem poczty (Postfix/Dovecot), np. skonfigurowany przez Froxlora z Części 2.
- Dostęp do zarządzania DNS Twojej domeny – obszar u dostawcy domeny (lub w Froxlorze, jeśli tam zarządzasz DNS), w którym możesz tworzyć „rekordy TXT".
- Adres IP Twojego serwera.
Ważne – właściwa kolejność: Najpierw skonfiguruj SPF i DKIM i poczekaj, aż oba będą aktywne (co najmniej kilka godzin), zanim włączysz DMARC na ostro. I zawsze zaczynaj DMARC od łagodnego ustawienia
p=none.
Czym są SPF, DKIM i DMARC?
Trzy proste obrazy:
- SPF to lista gości. Określa, które serwery mogą wysyłać e-maile w Twoim imieniu. Jeśli serwer wysyłający nie jest na liście, mail jest podejrzany.
- DKIM to podpis cyfrowy. Każdy wychodzący mail jest podpisywany kryptograficznie. Odbiorca sprawdza, czy jest prawdziwy i czy nie został zmieniony po drodze.
- DMARC to regulamin. Mówi odbiorcy, co ma się stać, gdy SPF lub DKIM zawiedzie: przepuścić, przenieść do spamu lub odrzucić. I wysyła Ci raporty.
Wszystkie trzy są technicznie tylko rekordami TXT w DNS – poza kluczem DKIM, który generujemy na serwerze. Bardzo dobre, szczegółowe wyjaśnienie oferuje poradnik Mailvergleich.de.
Krok 1: Konfiguracja SPF
SPF to jeden rekord TXT, który tworzysz w DNS swojej domeny. Wejdź do zarządzania DNS i utwórz nowy rekord:
Typ: TXT
Nazwa: @ (oznacza domenę główną)
Wartość: v=spf1 a mx ip4:SERVER-IP -all
Zastąp SERVER-IP adresem IP serwera. Co oznaczają części:
v=spf1– oznaczenie wersji (zawsze na początku).a mx– serwery, na które wskazują rekordy A i MX domeny, mogą wysyłać.ip4:SERVER-IP– ten konkretny IP może wysyłać.-all– wszystkie inne nie mogą wysyłać (ścisła wersja). Jeśli nie masz pewności lub korzystasz z dodatkowych usług (newsletter, CRM), zacznij od łagodniejszej wersji~alli później przełącz na-all.
Tylko jeden rekord SPF! Domena może mieć dokładnie jeden rekord TXT SPF. Jeśli korzystasz z kolejnych usług, dodaj ich wpisy
include:do tego jednego rekordu, np.v=spf1 a mx include:_spf.example.com -all.
Krok 2: Konfiguracja DKIM (podpisywanie na własnym serwerze)
Inaczej niż przy wynajętej skrzynce, DKIM musisz wygenerować na własnym serwerze samodzielnie. Używamy do tego OpenDKIM, który wpina się w Postfix i podpisuje każdy wychodzący mail.
2.1 Instalacja OpenDKIM:
sudo apt install -y opendkim opendkim-tools
2.2 Wygenerowanie klucza (zastąp twoja-domena.pl):
sudo mkdir -p /etc/opendkim/keys/twoja-domena.pl
sudo opendkim-genkey -b 2048 -d twoja-domena.pl -D /etc/opendkim/keys/twoja-domena.pl -s mail -v
sudo chown -R opendkim:opendkim /etc/opendkim
2.3 Konfiguracja OpenDKIM. Otwórz główną konfigurację:
sudo nano /etc/opendkim.conf
Dodaj na końcu:
Canonicalization relaxed/simple
Mode sv
Socket inet:8891@localhost
KeyTable /etc/opendkim/KeyTable
SigningTable /etc/opendkim/SigningTable
ExternalIgnoreList /etc/opendkim/TrustedHosts
InternalHosts /etc/opendkim/TrustedHosts
Utwórz trzy tabele:
echo "mail._domainkey.twoja-domena.pl twoja-domena.pl:mail:/etc/opendkim/keys/twoja-domena.pl/mail.private" | sudo tee /etc/opendkim/KeyTable
echo "*@twoja-domena.pl mail._domainkey.twoja-domena.pl" | sudo tee /etc/opendkim/SigningTable
printf "127.0.0.1\nlocalhost\ntwoja-domena.pl\n" | sudo tee /etc/opendkim/TrustedHosts
2.4 Połączenie OpenDKIM z Postfix. Otwórz konfigurację Postfix:
sudo nano /etc/postfix/main.cf
Dodaj na końcu:
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
Uruchom usługi ponownie:
sudo systemctl restart opendkim postfix
2.5 Opublikowanie rekordu DNS DKIM. OpenDKIM zapisał Twój klucz publiczny do pliku. Wyświetl go:
sudo cat /etc/opendkim/keys/twoja-domena.pl/mail.txt
Zobaczysz długą wartość w postaci v=DKIM1; k=rsa; p=.... Utwórz z nią w DNS rekord TXT:
Typ: TXT
Nazwa: mail._domainkey
Wartość: v=DKIM1; k=rsa; p=MIIBI... (pełna wartość p= z pliku)
Ilustrowaną pomoc krok po kroku do DKIM znajdziesz też u saschafix.de.
Krok 3: Konfiguracja DMARC
DMARC łączy SPF i DKIM oraz ustala regułę. Utwórz w DNS kolejny rekord TXT:
Typ: TXT
Nazwa: _dmarc
Wartość: v=DMARC1; p=none; rua=mailto:dmarc@twoja-domena.pl; fo=1
Znaczenie:
p=none– obserwuj, ale nic nie blokuj. Tak zawsze zaczynasz, by sprawdzić, czy wszystko działa czysto, bez zagrażania legalnym mailom.rua=mailto:dmarc@twoja-domena.pl– na ten adres odbiorcy wysyłają codzienne raporty. Utwórz tę skrzynkę.fo=1– bardziej szczegółowe raporty błędów.
Stopniowe zaostrzanie: Gdy po jednym–dwóch tygodniach raporty pokażą, że Twoje prawdziwe maile przechodzą SPF/DKIM, zwiększ surowość – najpierw na p=quarantine (podejrzane maile do spamu), później na p=reject (podejrzane maile odrzucane):
v=DMARC1; p=quarantine; rua=mailto:dmarc@twoja-domena.pl; fo=1
Nigdy nie zaczynaj od
p=reject! Inaczej ryzykujesz, że odrzucone zostaną też legalne maile (np. od usług newslettera lub CRM).
Krok 4: Sprawdzenie i testowanie wszystkiego
Zmiany DNS potrzebują trochę czasu (często minuty, czasem do 24 godzin). Następnie sprawdź konfigurację darmowymi narzędziami:
- MXToolbox – sprawdza rekordy SPF, DKIM i DMARC pojedynczo (wybierz u góry „SPF Record Lookup", „DKIM Lookup", „DMARC Lookup").
- mail-tester.com – wyślij prawdziwy mail testowy na wyświetlony adres; celem jest ocena co najmniej 8/10.
- Sprawdzenie nagłówka Gmail: wyślij sobie mail na konto Gmail, otwórz go, kliknij trzy kropki → „Pokaż oryginał". Tam przy SPF, DKIM i DMARC powinno być „PASS".
Test DKIM bezpośrednio na serwerze możesz dodatkowo wykonać tak:
sudo opendkim-testkey -d twoja-domena.pl -s mail -vvv
Jeśli pojawi się „key OK", klucz jest poprawnie opublikowany.
Częste błędy i rozwiązania
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
| Maile nadal lądują w spamie | DNS jeszcze nie rozpropagowany | poczekać kilka godzin, sprawdzić MXToolbox |
| SPF „PermError" | więcej niż jeden rekord SPF | połączyć wszystkie wpisy w jeden rekord SPF |
| DKIM „fail" | błędna/niepełna wartość p= | przejąć pełną wartość z mail.txt dokładnie (bez łamań wiersza) |
| DMARC bez efektu | literówka w nazwie | rekord musi nazywać się dokładnie _dmarc |
| Brak raportów DMARC | skrzynka rua nie istnieje | utworzyć adres dmarc@twoja-domena.pl |
Lista kontrolna
- [ ] Rekord TXT SPF obecny (dokładnie jeden), kończy się na
-alllub~all - [ ] OpenDKIM zainstalowany, połączony z Postfix, usługi uruchomione ponownie
- [ ] Rekord TXT DKIM (
mail._domainkey) opublikowany,opendkim-testkeyzgłasza „key OK" - [ ] Rekord TXT DMARC (
_dmarc) zp=noneaktywny - [ ] mail-tester.com pokazuje ≥ 8/10
- [ ] Gmail „Pokaż oryginał": SPF, DKIM, DMARC = PASS
- [ ] Po jednym–dwóch tygodniach DMARC zwiększony do
quarantine/reject
Najczęściej zadawane pytania (FAQ)
Czy nie wystarczy sam SPF? Nie. Google, Yahoo i Microsoft wymagają co najmniej SPF lub DKIM, ale dla najlepszej ochrony i dostarczalności skonfiguruj wszystkie trzy.
Jaka jest różnica między ~all a -all? ~all („soft fail") oznacza niewymienionych nadawców tylko jako podejrzanych, -all („hard fail") odrzuca ich ściśle. W razie wątpliwości zacznij od ~all i później przełącz na -all.
Czy raporty DMARC są istotne dla ochrony danych? Raporty zbiorcze (rua) nie zawierają treści maili, lecz statystyki o adresach IP i wynikach autentykacji. Raporty forensyczne (ruf) mogą zawierać więcej – wielu rezygnuje więc z ruf ze względów RODO.
Czy muszę to regularnie utrzymywać? Raz skonfigurowane działa. Na początku zaglądaj do raportów DMARC i zwiększaj surowość stopniowo.
Podsumowanie
W trzech krokach zabezpieczyłeś swoje e-maile: SPF określa, kto może wysyłać, DKIM podpisuje każdą wiadomość, DMARC ustala regułę i dostarcza raporty. Ważna jest kolejność – najpierw SPF i DKIM, potem DMARC, a DMARC zawsze zaczynaj od p=none. Po teście w mail-tester.com wiesz, że Twoje maile docierają.
Tym samym seria jest kompletna: w Części 1 skonfigurowałeś bezpieczny serwer, w Części 2 zainstalowałeś Froxlora, a tutaj zabezpieczyłeś wysyłkę e-maili.
Nie chcesz tego prowadzić samodzielnie, lecz wolisz gotowe rozwiązanie albo indywidualny rozwój? PepperTools Ci pomoże – zgłoś się przez formularz kontaktowy.
Źródła
- Mailvergleich.de: konfiguracja SPF, DKIM i DMARC
- saschafix.de: konfiguracja SPF, DKIM i DMARC
- Google Workspace: autentykacja e-mail
- MXToolbox (narzędzia testowe) · mail-tester.com
- OpenDKIM (strona projektu)
Stan: czerwiec 2026. Polecenia i wymagania dużych dostawców poczty mogą się zmieniać – wiążące są ich oficjalne wskazówki i dokumentacja używanego oprogramowania.
Latwiejsze fakturowanie
Easy Invoice laczy oferty, faktury i zarzadzanie klientami w chmurze.
Wyprobuj Easy Invoice