Niewysyłające się e-maile to jeden z najczęstszych i najbardziej frustrujących problemów w WordPressie. Nie dochodzą wiadomości z formularzy kontaktowych, reset hasła nie przychodzi, a powiadomienia systemowe „znikają”. W tym artykule wyjaśnię dlaczego WordPress przestaje wysyłać e-maile i pokażę konkretne sposoby naprawy problemu.
Jak WordPress wysyła e-maile – krótko i konkretnie
WordPress domyślnie wysyła e-maile za pomocą funkcji PHP mail() poprzez wp_mail().
Problem w tym, że:
- serwery hostingowe coraz częściej blokują PHP mail(),
- wiadomości trafiają do spamu,
- brakuje poprawnej autoryzacji nadawcy.
Efekt: WordPress „wysyła” e-mail, ale nikt go nie otrzymuje.
Najczęstsze objawy problemów z e-mailami w WordPressie
- brak wiadomości z formularza kontaktowego
- nie dochodzi e-mail resetowania hasła
- brak powiadomień o nowym użytkowniku
- brak e-maili WooCommerce (zamówienia, statusy)
- brak błędów w panelu – wszystko wygląda „normalnie”
To klasyczny przypadek problemu po stronie serwera lub konfiguracji poczty.
Blokada funkcji mail() na serwerze
Wielu hostingodawców:
- ogranicza wysyłkę maili przez PHP,
- blokuje ją całkowicie,
- nakłada limity, o których WordPress nie informuje.
Jak sprawdzić:
- wykonaj test wysyłki e-maila (np. z panelu wtyczki),
- sprawdź logi serwera,
- zapytaj hosting wprost: czy PHP mail() jest aktywne.
Jeśli jest blokada – dalsza konfiguracja nic nie da.
Brak SMTP – główna przyczyna problemów
Najczęstszy powód niewysyłania e-maili:
👉 brak konfiguracji SMTP
Bez SMTP:
- brak uwierzytelnienia nadawcy,
- wysoka szansa na spam,
- brak kontroli nad wysyłką.
Poprawne rozwiązanie:
- skonfiguruj wysyłkę przez SMTP,
- użyj TLS/SSL,
- użyj realnego konta e-mail jako nadawcy.
To rozwiązuje 90% problemów z e-mailami w WordPressie.
Nieprawidłowy adres nadawcy (From)
Typowy błąd:
From: wordpress@twojadomena.pl
Jeśli taka skrzynka:
- nie istnieje,
- nie jest autoryzowana,
- nie ma rekordu SPF,
serwery odbiorcze odrzucą wiadomość.
Dobre praktyki:
- używaj istniejącego adresu e-mail,
- ten sam adres jako nadawca i użytkownik SMTP,
- domena nadawcy = domena strony.
Brak SPF, DKIM i DMARC
To krytyczny punkt, który często jest pomijany.
Bez poprawnych rekordów DNS:
- Gmail, Outlook i WP Mail blokują wiadomości,
- e-maile trafiają do spamu lub są odrzucane.
Sprawdź w DNS:
- SPF – kto może wysyłać e-maile z domeny
- DKIM – podpis kryptograficzny
- DMARC – polityka weryfikacji
Brak tych rekordów = bardzo niska dostarczalność.
Problemy z wtyczkami formularzy i WooCommerce
Czasami problem nie leży w WordPressie, tylko w:
- źle skonfigurowanej wtyczce formularza,
- konflikcie wtyczek,
- błędnym hooku wysyłki e-maila.
Co sprawdzić:
- czy inny formularz wysyła e-mail,
- czy WooCommerce wysyła maile systemowe,
- czy po wyłączeniu wtyczek problem znika.
Konflikty motywu lub błędy PHP
Jeśli:
wp_mail() jest nadpisywane,
- występują błędy PHP,
- motyw ingeruje w wysyłkę,
e-maile mogą nie wychodzić mimo poprawnej konfiguracji SMTP.
Sprawdź:
- logi PHP (
wp-content/debug.log),
- czy nie ma fatal errors,
- czy problem występuje na motywie domyślnym.
Jak szybko zdiagnozować problem krok po kroku
- Sprawdź, czy e-mail w ogóle wychodzi (test)
- Skonfiguruj SMTP
- Ustaw poprawny adres nadawcy
- Zweryfikuj SPF / DKIM / DMARC
- Sprawdź logi WordPress i serwera
- Wyklucz konflikt wtyczek
Ta kolejność oszczędza najwięcej czasu.
Dlaczego problem z e-mailami często wraca
Najczęstsze przyczyny powrotu problemu:
- zmiana hostingu,
- migracja strony,
- zmiana domeny,
- aktualizacja PHP,
- usunięcie konta e-mail.
Po każdej z tych operacji SMTP i DNS należy sprawdzić ponownie.
Podsumowanie
WordPress przestaje wysyłać e-maile nie dlatego, że jest „zepsuty”, ale dlatego, że:
- domyślna wysyłka przez PHP mail() jest niewystarczająca,
- serwery pocztowe wymagają autoryzacji,
- brak poprawnej konfiguracji SMTP i DNS.
Jeśli:
- skonfigurujesz SMTP,
- użyjesz poprawnego nadawcy,
- zadbasz o SPF, DKIM i DMARC,
problem z niewysyłaniem e-maili zniknie na stałe, a nie „tymczasowo”.