WordPress nie wysyła maili? Napraw problem z wysyłką maili w WordPressie

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ę.

Wtyczka WP Mail SMTP Lite jest bezpłatna
Wtyczka WP Mail SMTP Lite jest bezpłatna

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.
Jeśli używasz Google Workspace / Microsoft 365, bardzo możliwe, że zamiast zwykłego hasła potrzebujesz hasła aplikacji albo autoryzacji w ramach wybranej usługi pocztowej we wtyczce (mogą być to funkcje płatne, w poradniku skupiam się na typowym połączeniu skrzynki używającej normalnej autentykacji SMTP).

Krok 2: Przejdź do ustawień wtyczki

Wejdź w panel WordPressa: „WP Mail SMTP” -> „Ustawienia” -> zakładka „Ogólne” i ustaw:

  1. Adres email nadawcy – najlepiej adres w Twojej domenie (np. kontakt@domena.pl).
  2. Imię i nazwisko nadawcy – pod tą nazwą będzie się wyświetlał adres w agentach pocztowych odbiorcy wiadomości.
  3. 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”„Uwierzytelnianie”;
  • Nie zapomnij kliknąć na koniec „Zapisz ustawienia”.
WordPress nie wysyła maili? Dostosuj ustawienia SMTP
Ustawienia SMTP we wtyczce WP Mail SMTP Lite

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).
Jeśli chcesz dokonać głębszej diagnostyki dlaczego Twój WordPress nie wysyła maili, to w zakładce „Zdarzenia debugowania” możesz włączyć tymczasowo opcję „debuguj wysyłanie e-maili”, aby w specjalnej tabeli monitorować wszystkie komunikaty dotyczące wiadomości wysyłanych przez Twoją stronę.

Udostępnij artykuł

Więcej o autorze

Mateusz

Spis treści

Więcej artykułów z kategorii „

Błędy WordPress

10 najczęstszych przyczyn białej strony w WordPressie. Naprawa błędów.