Wprowadzenie
Większość stron internetowych w WordPressie, w taki czy inny sposób, polega na formularzach. Formularz kontaktowy, formularz zbierający emaile do newslettera, formularz na landing page itd. Nierzadko zdarza się niestety, że mimo poprawnie działającego formularza (np. zrobionego w Elementorze), wiadomości nie docierają do adresata. Odwiedzający zgłasza, że kliknął „Wyślij”, a po Twojej stronie… cisza. Bywa też gorzej: nie przychodzą maile z linkiem do resetowania hasła, informacją o zamówieniu czy utworzeniu nowego użytkownika. Problemy wynikające z tego, że WordPress nie wysyła maili prawie zawsze mają to jedno źródło: domyślny sposób wysyłania maili przez WordPressa (za pomocą funkcji ‘mail’ w PHP) jest zawodny.
WordPress „nie wysyła” maili bez informacji o błędzie
Za wysyłkę maili w WordPressie odpowiada funkcja wp_mail(). Ona jest wygodnym „opakowaniem” na wysłanie maila, ale domyślnie nie wysyła wiadomości przez żadne konto pocztowe. W większości przypadków kończy się to użyciem języka jaki rozumie Twój serwer, czyli PHP. I właśnie tu zaczynają się schody, bo taki sposób wysyłki jest zależny od tego, jak Twój hosting ma ustawioną pocztę i jakie ma zabezpieczenia antyspamowe.
W praktyce, najczęściej dochodzi do tego ponieważ:
- hosting może blokować lub limitować wysyłkę (żeby strony nie robiły spamu),
- wiadomości mogą być przyjmowane na serwerze, ale odrzucane na dalszym etapie (np. przez filtr dostawcy skrzynki, który uważa je za spam),
- maile nie mają poprawnej autoryzacji nadawcy (takiej, jaką przechodzą wiadomości wysłane z prawdziwego konta pocztowego), więc trafiają do spamu albo w ogóle nie przechodzą,
- nagłówki „From” (nadawca wiadomości) często są niezgodne z tym, skąd mail realnie wychodzi, co jest czerwoną flagą dla filtrów antyspamowych.
Dlatego właśnie możliwa jest sytuacja, w której WordPress nie zgłasza błędu (ani Tobie jako administratorowi, ani osobie uzupełniającej formularz), a wiadomości i tak nie docierają. Z perspektywy strony „próba wysyłki” się udała – tylko poczta po drodze została zatrzymana albo odfiltrowana.
Jak naprawić niedochodzące maile w WordPressie?
Najlepszym rozwiązaniem na problem z niewysyłającymi się mailami w WordPressie jest instalacja wtyczki do obsługi SMTP. SMTP (Simple Mail Transfer Protocol) to standard, którym serwery i aplikacje wysyłają e-maile w Internecie. To właśnie przez SMTP działa wysyłka z większości skrzynek pocztowych i narzędzi typu Gmail i Outlook.
Zamiast korzystać z niepewnego mail(), witryna łączy się z Twoim serwerem pocztowym, loguje się na wskazane konto mailowe i wysyła wiadomość jako autoryzowany nadawca. Dzięki temu maile są bardziej „wiarygodne” dla odbiorców, rzadziej wpadają do spamu i po prostu częściej dochodzą.
Druga korzyść jest równie praktyczna: jeśli coś nie zadziała, dostajesz jasny komunikat dlaczego (np. błędne hasło, blokada portu, brak połączenia). Zamiast zgadywać, masz konkretną informację zwrotną w WordPressie i możesz naprawić problem od razu, bez kręcenia się w kółko.
Konfiguracja SMTP w WordPressie
Konfiguracja SMTP w WordPressie wymaga instalacji dodatkowej wtyczki. W tym poradniku posłużę się przykładem darmowej wtyczki „WP Mail SMTP lite” od WPForms, więc przed przejściem dalej, zainstaluj wskazaną wtyczkę.

Krok 1: Pozyskaj dane konta pocztowego
Zanim wejdziesz w ustawienia wtyczki, przygotuj dane do wysyłki. Najczęściej znajdziesz je w panelu hostingu albo od Twojego dostawcy poczty. Potrzebujesz:
- adres e-mail skrzynki (login),
- hasło,
- host SMTP (np. mail.domena.pl),
- port: zwykle 587 (TLS) albo 465 (SSL),
- typ szyfrowania: TLS lub SSL.
Krok 2: Przejdź do ustawień wtyczki
Wejdź w panel WordPressa: „WP Mail SMTP” -> „Ustawienia” -> zakładka „Ogólne” i ustaw:
- Adres email nadawcy – najlepiej adres w Twojej domenie (np. kontakt@domena.pl).
- Imię i nazwisko nadawcy – pod tą nazwą będzie się wyświetlał adres w agentach pocztowych odbiorcy wiadomości.
- Zaznacz opcję „Wymuś adres e-mail nadawcy”, żeby inne wtyczki nie nadpisywały nadawcy.
Następnie w sekcji „Usługa pocztowa” wybierz:
- Inne SMTP (ostatnia opcja) i wpisz w sekcji „Inne SMTP”: host, port, szyfrowanie, login i hasło,
- Najczęściej będzie koniecznie zaznaczenie opcji „Auto TLS” i „Uwierzytelnianie”;
- Nie zapomnij kliknąć na koniec „Zapisz ustawienia”.

Krok 3: Przetestuj ustawienia
Po zakończonej konfiguracji użyj opcji „Test e-maili”, którą znajdziesz w „WP Mail SMTP” -> Narzędzia -> zakładka „Test e-maili”. Używając narzędzia, wyślij wiadomość na jakikolwiek inny adres (np. swój prywatny, u innego dostawcy). Dobrą praktyką jest test na dwóch skrzynkach (np. Gmail + Outlook), bo potrafią inaczej filtrować pocztę.
Jeśli test nie przejdzie, komunikat błędu zwykle od razu podpowiada kierunek:
- brak połączenia -> zły host/port lub blokada po stronie hostingu,
- błąd logowania -> złe hasło / wymagane hasło aplikacji,
- informacja o zwrotce SPAM -> problem z nadawcą (From) lub brak podstawowej autoryzacji domeny (SPF/DKIM).


