WordPress nie wysyła maili? Kompletny przewodnik po SMTP, SPF i DKIM (2026)
PL

WordPress nie wysyła maili? Kompletny przewodnik po SMTP, SPF i DKIM (2026)

5.00 /5 - (26 głosów )
Spis treści

Scenariusz jest zawsze ten sam: Uruchamiasz nową stronę, instalujesz Contact Form 7 (lub Elementor Forms), wypełniasz formularz testowy, widzisz zielony komunikat “Wysłano pomyślnie”… i cisza. Mail nigdy nie dociera, albo ląduje w SPAMie.

W 2026 roku dostarczalność e-maili (Email Deliverability) to jedno z największych wyzwań. Filtry antyspamowe Gmaila, Outlooka i Yahoo są bezlitosne.

W tym poradniku wyjaśnię Ci, dlaczego domyślna konfiguracja WordPressa jest zepsuta i jak to naprawić raz na zawsze, używając profesjonalnych narzędzi.


Dlaczego PHP mail() nie działa?

Domyślnie WordPress używa starożytnej funkcji PHP mail(). Działa ona tak:

  1. WordPress mówi serwerowi (np. Apache/Nginx): “Wyślij ten tekst do admina”.
  2. Serwer wysyła maila “z siebie”, często używając adresu typu wordpress@twoj-serwer.hostingu.pl.

Główny problem: Brak tożsamości (Spoofing) Twoja domena to mojafirma.pl, ale mail technicznie wychodzi z serwera s123.mydevil.net. Dla Gmaila wygląda to podejrzanie: “Ktoś podszywa się pod firmę, ale wysyła z dziwnego serwera hostingu”.

Efekt? Odrzucenie wiadomości (Bounce) lub Folder SPAM.


Krok 1: Instalacja wtyczki SMTP

Musisz zmusić WordPressa, aby logował się do prawdziwej skrzynki pocztowej, tak jak robi to Twój program pocztowy (Outlook/Thunderbird) w telefonie.

Rekomendowane wtyczki (2026):

  1. FluentSMTP (Darmowa & Najlepsza) Lekka, szybka, posiada logi e-maili i obsługuje natywne API (o tym za chwilę). Nie ma wersji płatnej, wszystko jest za darmo.

  2. WP Mail SMTP (Najpopularniejsza) Standard rynkowy. Wersja darmowa wystarczy do podstawowego SMTP.

Konfiguracja (Dane od hostingu):

Zaloguj się do panelu hostingu i znajdź dane:

  • Serwer SMTP (Host): np. smtp.zenbox.pl, mail.twojadomena.pl
  • Port: 465 (SSL) lub 587 (TLS). Unikaj portu 25!
  • Uwierzytelnianie: Tak.
  • Login: Twój pełny adres e-mail (np. powiadomienia@twojadomena.pl).
  • Hasło: Hasło do tej skrzynki.

Po konfiguracji wyślij mail testowy z poziomu wtyczki. Jeśli przejdzie – połowa sukcesu.


Krok 2: Uwierzytelnienie Domeny (DNS)

To jest najważniejsza część, o której zapomina 90% “wdrożeniowców”. Samo wysyłanie przez SMTP to za mało. Musisz udowodnić całemu światu, że ten serwer ma prawo wysyłać maile w Twoim imieniu.

Robisz to, dodając rekordy TXT w strefie DNS swojej domeny (np. w Cloudflare, Home.pl, OVH).

1. SPF (Sender Policy Framework)

Mówi: “Tylko te adresy IP mogą wysyłać maile z tej domeny”.

Przykład rekordu TXT:

v=spf1 include:_spf.google.com include:spf.zenbox.pl -all
  • include – upoważniasz Google i Zenboxa.
  • -all (minus all) – twardy zakaz. Każdy inny serwer ma być odrzucony.

2. DKIM (DomainKeys Identified Mail)

To cyfrowy podpis wiadomości. Serwer pocztowy “pieczętuje” każdego maila kluczem prywatnym, a odbiorca sprawdza go kluczem publicznym z DNS.

Klucz DKIM generujesz w panelu swojego hostingu poczty. Rekord TXT: zazwyczaj nazywa się default._domainkey i zawiera długi ciąg w stylu v=DKIM1; k=rsa; p=MIIBIjANBgkqh....

3. DMARC (Domain-based Message Authentication)

To instrukcja dla Gmaila, co ma zrobić, gdy SPF lub DKIM się nie zgodzą. W 2026 roku Gmail i Yahoo wymagają DMARC dla dużych nadawców.

Podstawowy rekord TXT dla _dmarc:

v=DMARC1; p=none; rua=mailto:admin@twojadomena.pl
  • p=none – na początku tylko monitoruj, nie blokuj.
  • p=quarantine – wrzucaj do spamu.
  • p=reject – odrzucaj całkowicie (cel ostateczny).

Krok 3: SMTP vs API (Dlaczego API wygrywa?)

Wysyłanie przez zwykłe SMTP (login/hasło) ma wady:

  1. Powolność: SMTP jest protokołem “gadatliwym”. Wysłanie maila trwa 1-3 sekundy.
  2. Blokada hasła: Jeśli zmienisz hasło do skrzynki, strona przestanie wysyłać maile.
  3. Limity: Zwykłe hostingi mają limit np. 500 maili dziennie.

Rozwiązanie: Transactional Email Services (API)

Zamiast zwykłej skrzynki, użyj dedykowanego serwisu do wysyłki “maili transakcyjnych” (powiadomienia, reset hasła, zamówienia). Połączysz się przez HTTP API (błyskawicznie) zamiast SMTP.

Najlepsi dostawcy w 2026:

  1. Brevo (dawniej Sendinblue): Dobre darmowe limity (300/dzień).
  2. Postmark: Najwyższa dostarczalność, ale płatny.
  3. MailerSend: Świetny darmowy plan.
  4. Amazon SES: Najtańszy, ale trudny w konfiguracji.

Wtyczka FluentSMTP obsługuje te API natywnie. Wklejasz tylko API Key i gotowe.


Jak testować dostarczalność?

Nie zgaduj. Użyj narzędzia Mail-Tester.com.

  1. Wejdź na stronę, skopiuj dziwny adres e-mail.
  2. Wyślij na niego maila ze swojej strony WordPress.
  3. Sprawdź wynik (Score).

Jeśli masz mniej niż 9/10, przeczytaj raport. Zazwyczaj pokaże brak SPF, DKIM, lub obecność na czarnej liście (Blacklist).

Contact Form 7 – Specyficzne problemy

CF7 ma swoje kaprysy.

  1. Pole “Od” (From): Musi zawierać adres w Twojej domenie!
    • ŹLE: [your-email] (Nie możesz wysyłać “jako klient”).
    • DOBRZE: Powiadomienia <no-reply@mojafirma.pl>
  2. Pole “Dodatkowe nagłówki” (Headers):
    • Tu wpisz: Reply-To: [your-email]. Dzięki temu jak klikniesz “Odpowiedz”, mail pójdzie do klienta.

Podsumowanie

Walka o dostarczalność e-maili to ciągły proces. W 2026 roku nie możesz polegać na php mail(). Minimalny zestaw profesjonalisty:

  1. Wtyczka SMTP (FluentSMTP).
  2. Zewnętrzny dostawca API (Brevo/MailerSend) LUB poprawny SMTP hostingu.
  3. Pełne rekordy DNS: SPF, DKIM i DMARC.

Tylko to da Ci pewność, że zapytanie ofertowe od klienta nie zginie w cyfrowej otchłani.