WordPress nie wysyła maili? To jedna z tych usterek, która potrafi wyglądać błaho, a w praktyce uderza w sprzedaż, obsługę klienta i bezpieczeństwo strony. Nie dochodzą wiadomości z formularza kontaktowego, nie przychodzą maile z zamówieniami WooCommerce, użytkownicy nie mogą zresetować hasła, a Ty dowiadujesz się o problemie dopiero po kilku dniach, gdy ktoś zadzwoni lub napisze na inny adres.
Najważniejsza rzecz na start: w większości przypadków WordPress nie jest „zepsuty”. Problem zwykle wynika z tego, że serwer, wtyczka albo dostawca poczty blokują lub odrzucają wiadomości. Dlatego naprawa polega na diagnozie całego łańcucha wysyłki, a nie na przypadkowym instalowaniu kolejnych pluginów.
W tym artykule dostajesz praktyczne, techniczne, ale zrozumiałe podejście: jak sprawdzić, gdzie giną maile, jak odróżnić problem WordPressa od problemu hostingu lub poczty, co zrobić krok po kroku i kiedy lepiej nie ryzykować samodzielnych zmian.
Szybka odpowiedź
Jeżeli WordPress nie wysyła maili, w pierwszej kolejności:
- sprawdź, czy problem dotyczy wszystkich wiadomości, czy tylko konkretnego formularza albo sklepu,
- wyślij testową wiadomość z WordPressa i sprawdź logi serwera oraz wtyczki,
- zastąp wysyłkę przez
wp_mail()konfiguracją SMTP z autoryzacją, - upewnij się, że domena ma poprawne rekordy SPF, DKIM i najlepiej DMARC,
- sprawdź, czy hosting nie blokuje funkcji PHP mail() albo nie ogranicza wysyłki,
- wyłącz na chwilę inne wtyczki, które mogą przechwytywać wysyłkę,
- przetestuj skrzynkę odbiorczą, spam i kwarantannę po stronie odbiorcy.
Jeśli masz sklep WooCommerce, formularze leadowe albo wysyłkę resetów hasła, najbezpieczniejszym i najstabilniejszym rozwiązaniem jest zwykle SMTP z prawidłową autoryzacją oraz poprawną autentykacją domeny. Jeśli to nie pomaga, problem może leżeć w konflikcie pluginów, błędnej konfiguracji hostingu lub filtrach bezpieczeństwa po stronie poczty.
Diagnoza problemu
Zanim zaczniesz cokolwiek naprawiać, ustal co dokładnie nie działa. To kluczowe, bo „WordPress nie wysyła maili” oznacza kilka różnych scenariuszy:
- formularz kontaktowy wysyła komunikat sukcesu, ale wiadomość nie dochodzi,
- zamówienia z WooCommerce nie przychodzą na adres administratora,
- nie dochodzą maile resetu hasła,
- działają jedne powiadomienia, a inne nie,
- wiadomość wychodzi z WordPressa, ale trafia do spamu,
- maile docierają tylko na niektóre skrzynki, a na inne nie,
- działają tylko maile wewnętrzne, np. do administratora, ale nie do klienta.
Diagnoza powinna odpowiedzieć na cztery pytania:
- Czy WordPress generuje wiadomość?
- Czy serwer ją wysyła?
- Czy zewnętrzny dostawca ją przyjmuje?
- Czy użytkownik widzi ją w skrzynce, czy w spamie?
Jeśli nie masz tej wiedzy, można łatwo naprawiać nie ten etap, który trzeba. Na przykład instalacja kolejnej wtyczki SMTP nic nie da, jeśli problem polega na błędnym adresie From albo zablokowaniu domeny przez polityki SPF/DKIM.
Ważne ostrzeżenie bezpieczeństwa: jeżeli pracujesz na produkcyjnej stronie z działającym sklepem lub formularzami leadowymi, nie testuj „na ślepo” wielu wtyczek i nie wyłączaj wszystkich zabezpieczeń naraz. Zrób kopię zapasową, notuj zmiany i testuj jedną rzecz na raz. W przeciwnym razie możesz doprowadzić do utraty konfiguracji poczty albo przerywać wysyłkę zamówień na kilka godzin.
Możliwe przyczyny
Najczęściej spotykane przyczyny można podzielić na kilka grup.
1. WordPress korzysta z niewiarygodnej wysyłki PHP mail()
Domyślna wysyłka przez wp_mail() zwykle opiera się o funkcję mail() PHP lub konfigurację hostingu. To rozwiązanie bywa niestabilne, bo wiele serwerów limituje wysyłkę, wymaga poprawnej konfiguracji nagłówków albo po prostu obniża reputację takich wiadomości. Nawet jeśli mail „wychodzi”, może zostać odrzucony lub wylądować w spamie.
2. Hosting blokuje lub ogranicza wysyłkę
Niektóre firmy hostingowe ograniczają liczbę maili na godzinę, blokują funkcję mail(), wymagają własnego SMTP albo filtrują wiadomości o podejrzanych nagłówkach. Zdarza się też, że hosting działa poprawnie, ale jego reputacja IP jest słaba, co obniża dostarczalność.
3. Błędna konfiguracja SMTP
SMTP pomaga, ale tylko wtedy, gdy jest skonfigurowany poprawnie. Typowe błędy to zły port, zła metoda szyfrowania, nieprawidłowa nazwa użytkownika, literówka w haśle aplikacyjnym, niezgodny adres nadawcy lub konto pocztowe bez uprawnień do wysyłki z danej domeny.
4. Brak SPF, DKIM lub DMARC
Jeżeli wiadomość wychodzi z Twojej domeny, ale serwer odbiorcy nie potwierdza, że masz do tego prawo, mail może zostać odrzucony albo oznaczony jako podejrzany. SPF mówi, które serwery mogą wysyłać pocztę w imieniu domeny. DKIM podpisuje wiadomość. DMARC określa politykę akceptacji. Bez tego dostarczalność często spada dramatycznie.
5. Konflikt wtyczek
Wtyczki formularzy, bezpieczeństwa, cache, optymalizacji, antyspamowe i SMTP czasem wchodzą sobie w drogę. Przykład: jedna wtyczka przechwytuje wp_mail, druga zmienia nagłówki, trzecia blokuje wysyłkę z nieautoryzowanego źródła. Efekt? Formularz pokazuje sukces, ale wiadomość nie trafia nigdzie.
6. Błędna konfiguracja formularza lub sklepu
W Contact Form 7, WPForms, Gravity Forms, Elementor Forms czy WooCommerce problemem bywa nie sam WordPress, ale ustawienia odbiorcy, adresu nadawcy, reguł warunkowych, integracji z webhookami, filtrów antyspamowych lub szablonu maila. Czasem wiadomość jest wysyłana, ale na zły adres, z błędnym polem Reply-To albo z nieistniejącym nadawcą.
7. Mail trafia do spamu albo kwarantanny
W praktyce część wiadomości nie „ginie”, tylko zostaje zatrzymana przez Gmail, Outlook, firmowy filtr poczty lub panel antyspamowy. Dla użytkownika wygląda to tak samo jak awaria, ale naprawa będzie inna: poprawa SPF/DKIM/DMARC, zmiana nadawcy, poprawa treści wiadomości lub stabilizacja reputacji domeny.
8. Niska reputacja domeny lub IP
Jeśli z Twojej domeny lub serwera wcześniej wychodził spam, zainfekowane skrypty albo masowa wysyłka, dostawcy poczty mogą obniżyć zaufanie. Wtedy nawet poprawnie skonfigurowane maile będą odrzucane lub opóźniane.
9. Błędy kodu w motywie lub własnych modyfikacjach
Jeśli ktoś dodał własny kod do functions.php, wtyczki customowej albo mu-pluginu, mógł nadpisać nagłówki, wyłączyć filtr wp_mail albo blokować wysyłkę w określonych warunkach. W takich przypadkach problem często pojawia się po aktualizacji motywu lub wdrożeniu nowej funkcji.
1https://r99.pl/blog => https://r99.pl/blog/. Limity konta pocztowego
Gdy SMTP korzysta z konta na serwerze pocztowym, skrzynka mogła przekroczyć limit wysyłki, być zablokowana z powodu podejrzanej aktywności lub mieć pełną skrzynkę odbiorczą, co czasem wpływa na działanie systemu.
11. Zła domena nadawcy
Jeśli WordPress wysyła z adresu typu wordpress@twojadomena.pl, ale domena nie jest poprawnie obsłużona przez DNS albo adres nie istnieje, wiadomości mogą nie przechodzić weryfikacji. Jeszcze gorzej, gdy nadawca jest ustawiony jako zewnętrzna domena bez prawa do wysyłki w jej imieniu.
12. Problemy z certyfikatem, TLS lub portem
W SMTP liczą się nie tylko login i hasło. Zły port, przestarzały protokół szyfrowania lub problem z certyfikatem SSL/TLS potrafią skutecznie przerwać połączenie jeszcze przed wysłaniem wiadomości.
Rozwiązanie krok po kroku
Poniżej masz kolejność działań, która pozwala zdiagnozować problem bez chaosu. To podejście jest bezpieczne zarówno dla strony firmowej, jak i sklepu.
Krok 1: Zrób kopię zapasową
Zanim zmienisz wtyczki, konfigurację DNS lub ustawienia SMTP, zrób backup plików i bazy danych. Jeśli coś pójdzie nie tak, łatwo wrócisz do poprzedniego stanu.
Krok 2: Sprawdź zakres problemu
Zweryfikuj, czy nie dochodzą:
- maile z formularza kontaktowego,
- powiadomienia WooCommerce,
- reset hasła,
- testowa wiadomość z panelu WordPress,
- maile do administratora i do klienta.
Jeśli psuje się tylko jeden element, szukaj problemu w konkretnej wtyczce lub integracji. Jeśli wszystko przestało działać, większe prawdopodobieństwo ma SMTP, hosting lub DNS.
Krok 3: Wyślij testową wiadomość
Użyj wtyczki SMTP lub narzędzia diagnostycznego, które potrafi wysłać prosty test. Sprawdź:
- czy test kończy się sukcesem,
- jaki jest adres nadawcy,
- jakie są nagłówki wiadomości,
- czy mail trafia do spam folderu.
Jeżeli test nie przechodzi, zapisany komunikat błędu jest bardzo cenny. Nie ignoruj go — zwykle wskazuje, czy problem dotyczy autoryzacji, połączenia czy polityki serwera.
Krok 4: Przełącz wysyłkę na SMTP
Jeśli WordPress korzysta z domyślnej wysyłki, ustaw SMTP z autoryzacją. W praktyce oznacza to najczęściej:
- instalację sprawdzonej wtyczki SMTP,
- połączenie z kontem pocztowym lub transakcyjnym,
- ustawienie poprawnego portu i szyfrowania,
- ustawienie zgodnego adresu
From.
Praktyczna wskazówka: do wysyłki z serwera produkcyjnego lepiej używać dedykowanej usługi pocztowej lub transakcyjnej niż prywatnej skrzynki Gmail bez odpowiednich uprawnień. Dla sklepu lub serwisu firmowego to zwykle stabilniejsze i bardziej przewidywalne.
Krok 5: Ustaw poprawny adres nadawcy
Adres nadawcy powinien być zgodny z domeną, z której faktycznie wychodzi poczta. Jeśli wysyłasz z kontakt@twojadomena.pl, a domena ma poprawną autoryzację DNS, szanse na dostarczenie są znacznie wyższe. Unikaj przypadkowego nadawcy typu noreply@losowadomena.pl lub adresów bez możliwości odpowiedzi, jeśli nie ma takiej potrzeby.
Krok 6: Sprawdź rekordy DNS
Przejrzyj rekordy SPF, DKIM i DMARC. Jeśli korzystasz z zewnętrznego SMTP, dodaj jego serwery do SPF i włącz podpis DKIM. DMARC ustaw przynajmniej na poziomie monitoringu, aby zobaczyć, czy coś jest odrzucane. Jeżeli nie masz doświadczenia z DNS, tu łatwo o pomyłkę, która zatrzyma całą pocztę.
Krok 7: Wyłącz konfliktujące wtyczki testowo
Na czas testu wyłącz kolejno:
- wtyczki cache i optymalizacji,
- wtyczki bezpieczeństwa,
- dodatki do formularzy,
- drugą wtyczkę SMTP, jeśli jest zainstalowana,
- wtyczki do logowania maili lub zmiany nagłówków.
Jeżeli po wyłączeniu którejś wtyczki poczta zaczyna działać, masz winowajcę. Potem sprawdź, czy jest aktualizacja, poprawna konfiguracja albo alternatywa.
Krok 8: Zweryfikuj konfigurację formularza lub WooCommerce
W formularzach sprawdź pole odbiorcy, format adresu e-mail, warunki wysyłki, autorespondery i reguły antyspamowe. W WooCommerce sprawdź ustawienia e-maili zamówień, administratorów, adresów odbiorców, szablonów i statusów, które uruchamiają wysyłkę.
Krok 9: Przetestuj dostarczalność na kilku skrzynkach
Wyślij wiadomość na Gmail, Outlook i najlepiej jedną firmową skrzynkę. Czasem problem występuje tylko na jednym dostawcy poczty. To pomoże odróżnić błąd wysyłki od problemów z filtrowaniem po stronie odbiorcy.
Krok 1https://r99.pl/blog => https://r99.pl/blog/: Sprawdź spam, logi i kwarantannę
Jeśli wiadomość nie dochodzi do inboxa, sprawdź folder spam, zakładki promocje, filtrowanie w panelu administracyjnym poczty i logi serwera. Często mail faktycznie został dostarczony, ale został odfiltrowany przed oczami użytkownika.
Krok 11: Włącz logowanie wysyłki
Logi maili pozwalają zobaczyć, czy WordPress wygenerował wiadomość, jaki był odbiorca, czy serwer odpowiedział błędem, i czy wysyłka zakończyła się sukcesem. To jedna z najlepszych metod diagnostycznych, zwłaszcza gdy problem jest niestabilny i pojawia się tylko czasami.
Krok 12: Jeśli problem wraca, przejdź na stabilną usługę pocztową
Jeżeli masz do czynienia z ruchem sprzedażowym lub formularzami leadowymi, rozważ przejście na usługę pocztową o wyższej reputacji i lepszym monitoringu. Dla poważnych wdrożeń warto myśleć nie tylko o „wysyłaniu”, ale o całej dostarczalności.
Najczęstsze błędy
- Instalowanie kilku wtyczek SMTP naraz.
- Zmiana adresu nadawcy bez aktualizacji SPF/DKIM.
- Testowanie na produkcji bez backupu.
- Wyłączanie całego bezpieczeństwa strony na czas diagnostyki.
- Ignorowanie folderu spam i kwarantanny.
- Zakładanie, że skoro formularz pokazuje komunikat „wysłano”, to mail na pewno dotarł.
- Wysyłanie z domeny, która nie ma poprawnych rekordów DNS.
- Używanie prywatnej skrzynki do masowej wysyłki automatycznych powiadomień.
- Nieczytanie komunikatów błędów z wtyczki.
- Brak sprawdzenia, czy problem dotyczy tylko jednej skrzynki odbiorczej.
Kiedy nie robić tego samodzielnie
Nie warto działać samodzielnie, jeśli:
- strona generuje przychód i każda godzina bez maili oznacza straty,
- problem dotyczy WooCommerce, płatności lub zamówień,
- nie masz dostępu do DNS lub panelu hostingu,
- na stronie są własne modyfikacje kodu,
- pojawiają się błędy TLS, certyfikatów, serwera pocztowego lub autoryzacji,
- nie masz pewności, czy formularz nie został zainfekowany lub przechwycony,
- po naprawie maile zaczynają trafiać do spamu jeszcze gorzej niż wcześniej.
Jeśli w grę wchodzi zmiana rekordów DNS, migracja SMTP albo przebudowa konfiguracji wysyłki, jedna zła zmiana może zatrzymać nie tylko WordPressa, ale całą firmową pocztę. To już obszar, w którym doświadczenie techniczne ma duże znaczenie.
Kiedy zgłosić się do specjalisty
Do specjalisty warto zgłosić się wtedy, gdy:
- masz pilny biznesowy problem i potrzebujesz szybkiej diagnozy,
- chcesz naprawić wysyłkę bez ryzyka przestoju,
- problem powtarza się mimo prawidłowej konfiguracji SMTP,
- podejrzewasz konflikt kilku wtyczek lub błąd w kodzie,
- musisz wdrożyć SPF, DKIM, DMARC i poprawne routowanie poczty,
- potrzebujesz audytu dostarczalności dla sklepu lub serwisu generującego leady,
- strona wysyła maile tylko czasami, a nie zawsze — czyli problem jest trudny do uchwycenia bez logów.
Jeśli chcesz ograniczyć ryzyko i nie tracić czasu na metodę prób i błędów, pomoc wdrożeniowa zwykle jest tańsza niż wielodniowe gaszenie pożaru w środku sprzedaży.
Podsumowanie
Gdy WordPress nie wysyła maili, nie zakładaj od razu awarii całej strony. Najczęściej winny jest sposób wysyłki, konfiguracja SMTP, rekordy DNS, konflikt wtyczek albo blokada po stronie hostingu lub odbiorcy. Skuteczna naprawa polega na sprawdzeniu całego łańcucha: od wygenerowania wiadomości w WordPressie, przez serwer i autoryzację, aż po skrzynkę odbiorczą użytkownika.
Najbezpieczniejsza kolejność działań to: backup, test wysyłki, przejście na SMTP, weryfikacja nadawcy, sprawdzenie SPF/DKIM/DMARC, test konfliktów wtyczek i logów. Jeśli prowadzisz sklep, zbierasz leady lub obsługujesz ważne formularze, nie odkładaj diagnozy na później — brak maili oznacza realną utratę kontaktów i przychodów.
CTA do kontaktu
Jeżeli WordPress nadal nie wysyła maili, a chcesz szybciej dojść do przyczyny bez ryzyka dla strony, skontaktuj się z zespołem R99. Zajmujemy się diagnostyką WordPressa, konfiguracją SMTP, dostarczalnością poczty i naprawą problemów z formularzami oraz WooCommerce.
Skontaktuj się z R99 i opisz, co dokładnie nie dochodzi: formularz, sklep, reset hasła czy wszystkie wiadomości. Na tej podstawie łatwiej dobrać właściwe działania.