WordPress nie wysyła maili: formularz, Contact Form 7, Elementor i WooCommerce
Formularz pokazuje „wysłano”, klient czeka na odpowiedź, a w skrzynce nic nie ma. Albo sklep przyjmuje zamówienie i nie wysyła potwierdzenia. Wiadomość może zginąć w sześciu miejscach: od samego formularza po filtr odbiorcy. Poniżej kolejność sprawdzania, która pozwala znaleźć to miejsce bez zgadywania.
Zgłoszenia ze strony przepadają? Zobacz, jak naprawiam wysyłkę maili z WordPress, albo od razu opisz problem. Cenę podaję przed rozpoczęciem prac.

Gdzie może zginąć wiadomość
Mail z formularza przechodzi przez kilka etapów i na każdym może się zatrzymać. Dlatego wymiana wtyczki formularza na inną rzadko pomaga: najpierw trzeba ustalić, na którym etapie wiadomość znika.
Formularz
Walidacja, błąd JavaScript albo zabezpieczenie antyspamowe zatrzymuje zgłoszenie, zanim powstanie wiadomość.
WordPress
Wiadomość nie trafia do funkcji wp_mail: błąd PHP, konflikt wtyczek albo cache.
WooCommerce
Powiadomienie jest wyłączone albo status zamówienia go nie uruchamia.
Serwer lub SMTP
Hosting ogranicza wysyłkę albo dane SMTP są błędne: login, port, szyfrowanie.
DNS domeny
Brakujące lub błędne rekordy SPF, DKIM i DMARC sprawiają, że odbiorca nie ufa nadawcy.
Odbiorca
Filtr odrzuca wiadomość albo przenosi ją do spamu, zanim trafi do skrzynki.
Szybka diagnostyka wysyłki
Zaznacz, co udało się potwierdzić w ostatnim teście. Wynik podpowie, od czego zacząć.
Test, który zajmuje 10 minut
- Wyślij testowe zgłoszenie z formularza i zapisz dokładną godzinę wysyłki.
- Sprawdź w skrzynce także spam oraz karty typu „Oferty”.
- Zainstaluj wtyczkę z dziennikiem maili, na przykład WP Mail Logging albo Check & Log Email, i powtórz test.
- Jeśli wiadomości nie ma w dzienniku, problem leży w formularzu lub wtyczce. Jeśli jest, ale nie dochodzi, winny jest serwer, nadawca albo ustawienia domeny.
- Wyślij testową wiadomość do narzędzia typu mail-tester: dostaniesz ocenę i listę problemów, w tym wynik SPF i DKIM.
Objaw i najczęstsza przyczyna
| Objaw | Najczęstsza przyczyna | Co sprawdzić najpierw |
|---|---|---|
| Formularz potwierdza wysłanie, a maila nie ma | Hosting nie wysyła poczty przez funkcję PHP albo odbiorca odrzuca nadawcę | Dziennik maili, potem SMTP i adres nadawcy |
| Formularz pokazuje błąd wysyłki | Funkcja wp_mail zwraca błąd: blokada hostingu albo błędne dane SMTP | Log błędów PHP i ustawienia wtyczki SMTP |
| Kółko ładowania kręci się bez końca | Błąd JavaScript, cache albo zablokowane REST API | Konsolę przeglądarki oraz wtyczki cache i optymalizacji |
| Maile dochodzą na Gmaila, a na skrzynkę firmową nie | Filtr odbiorcy, SPF albo DMARC | Nagłówki wiadomości i rekordy DNS domeny |
| Mail dochodzi, ale bez załącznika | Pole pliku nie jest podpięte w ustawieniach maila albo znacznik ma inną nazwę | Ustawienia załączników w mailu formularza |
| Sklep nie wysyła potwierdzenia zamówienia | Wyłączone powiadomienie albo zamówienie nadal czeka na płatność | Ustawienia e-maili WooCommerce i status zamówienia |
| Wszystko działało i nagle przestało | Zmienione hasło skrzynki, aktualizacja wtyczki albo limit wysyłki na hostingu | Datę ostatnich zmian i dziennik SMTP |
Jeśli formularz przestał działać zaraz po aktualizacji wtyczek lub motywu, zacznij od naprawy WordPress: to częściej konflikt wtyczek niż problem z pocztą.
Contact Form 7 nie wysyła maili
W Contact Form 7 najwięcej błędów powstaje w ustawieniach maila (zakładka „Adres e-mail”, po angielsku Mail). Wtyczka sama ostrzega o błędnej konfiguracji, ale to ostrzeżenie łatwo przeoczyć.
- Pole „Nadawca” (From). Powinno zawierać adres w domenie strony, na przykład formularz@twojadomena.pl. Adres klienta wpisz w polu „Dodatkowe nagłówki” jako Reply-To, a nie w polu „Nadawca”.
- Pole „Odbiorca” (To). Sprawdź literówki i to, czy skrzynka istnieje. Kilka adresów oddziel przecinkami.
- Nadawca w obcej domenie. Jeśli w polu „Nadawca” jest adres z Gmaila lub innej darmowej poczty, a wiadomość wychodzi z serwera strony, odbiorca często uznaje to za podszywanie się i odrzuca wiadomość albo kieruje ją do spamu.
- Ochrona antyspamowa. Błędny klucz reCAPTCHA lub Turnstile albo zbyt restrykcyjne ustawienia zatrzymują także poprawne zgłoszenia.
- Cache i optymalizacja. Wyklucz stronę z formularzem z cache oraz z łączenia skryptów i wyślij test ponownie.
Contact Form 7 nie wysyła załączników
Jeśli treść dochodzi, a pliku brak, znacznik pola pliku z formularza najpewniej nie jest wpisany w polu „Załączniki” w ustawieniach maila albo ma tam inną nazwę. Zbyt duży plik (domyślny limit to 1 MB, zmienia go parametr limit w znaczniku pola) albo plik o niedozwolonym rozszerzeniu (parametr filetypes) formularz odrzuca od razu, z komunikatem przy polu. Przy dużych plikach ograniczeniem bywa też serwer pocztowy odbiorcy.
Formularz Elementor nie wysyła wiadomości
W Elementorze Pro wysyłką steruje sekcja „Actions After Submit” w ustawieniach formularza. Jeśli nie ma w niej akcji „Email”, formularz przyjmie dane i nigdzie ich nie wyśle.
- W ustawieniach akcji „Email” w polu „To” wpisz adres swojej skrzynki, a w „From Email” adres w domenie strony. Adres klienta wpisz w „Reply-To”.
- W panelu otwórz Elementor → Submissions (po polsku zwykle „Zgłoszenia”). Jeśli zgłoszenie jest na liście, formularz działa, a problem leży w wysyłce poczty. Lista wypełnia się, gdy formularz ma akcję „Collect Submissions”, domyślną w nowych formularzach.
- Komunikat o błędzie serwera po kliknięciu „Wyślij” zwykle oznacza, że funkcja wp_mail zwróciła błąd. Sprawdź log PHP i ustawienia SMTP.
WooCommerce nie wysyła maili
W sklepie dochodzi jeszcze jedno ogniwo: status zamówienia. Mail nie wyjdzie, jeśli zamówienie nie zmieniło statusu, nawet gdy poczta działa bez zarzutu.
- Ustawienia e-maili. W panelu WooCommerce → Ustawienia → E-maile sprawdź, czy dane powiadomienie jest włączone i jaki ma adres odbiorcy. „Nowe zamówienie” trafia domyślnie na adres e-mail administratora witryny.
- Status zamówienia. Przy płatności online potwierdzenie dla klienta wychodzi dopiero po jej zaksięgowaniu. Zamówienie, które nadal czeka na płatność, go nie uruchamia.
- Bramka płatności. Jeśli potwierdzenie płatności nie wraca do sklepu, na przykład przez błędny adres powiadomień albo tryb testowy, zamówienie zostaje w statusie „Oczekujące na płatność” i maile nie wychodzą.
- Szablony w motywie. Przestarzałe kopie szablonów e-maili w motywie potrafią wywołać błąd po aktualizacji WooCommerce. Listę takich szablonów pokazuje ekran Status systemu.
- Dziennik zdarzeń. W panelu WooCommerce → Status → Dziennik zdarzeń widać błędy wtyczek płatności, a w nowszych wersjach WooCommerce także nieudane wysyłki e-maili.
SMTP, nadawca i rekordy domeny
Domyślnie WordPress wysyła pocztę przez funkcję PHP serwera, bez logowania do skrzynki. Dla serwerów odbiorców taka wiadomość wygląda na anonimową, a część hostingów ogranicza ten sposób wysyłki. Rozwiązaniem jest SMTP: strona loguje się do prawdziwej skrzynki w Twojej domenie albo do usługi wysyłkowej.
- Załóż skrzynkę do wysyłki w domenie strony, na przykład formularz@twojadomena.pl.
- Zainstaluj wtyczkę SMTP, na przykład WP Mail SMTP, FluentSMTP albo Post SMTP, i wpisz dane od dostawcy poczty: host, port, szyfrowanie, login i hasło.
- Ustaw ten sam adres jako nadawcę w formularzach i w WooCommerce.
- Sprawdź rekord SPF domeny: musi obejmować serwer, przez który wysyłasz.
- Włącz DKIM u dostawcy poczty i dodaj rekord DMARC, na początek w trybie obserwacji.
- Wyślij test i zapisz wynik. Od tej chwili masz punkt odniesienia.
Od 2024 roku Gmail i Yahoo wymagają od nadawców uwierzytelnienia SPF lub DKIM, a przy masowej wysyłce obu naraz oraz DMARC. Strona bez tych ustawień traci maile po cichu. Jeśli wiadomości dochodzą, ale lądują w spamie, to osobny problem: opisałem go w poradniku Maile trafiają do spamu.
Ile kosztuje naprawa wysyłki maili
Cena zależy od tego, gdzie ginie wiadomość. Podaję ją po wstępnej ocenie, przed rozpoczęciem prac.
- Diagnostykaod 250 złFormularz, logi i podstawowa kontrola DNS: ustalam, gdzie ginie wiadomość.
- Konfiguracja SMTPod 450 złNadawca, dostawca poczty, rekordy DNS i testy dostarczalności.
- WooCommerceod 650 złStatusy, szablony, logi, SMTP i zamówienie testowe.
Opłaty dostawcy poczty lub usługi wysyłkowej ponosisz osobno. Nikt uczciwie nie zagwarantuje, że każdy mail zawsze trafi do skrzynki odbiorczej, bo decyduje o tym także serwer odbiorcy. Zakres prac opisuje strona Konfiguracja SMTP WordPress i naprawa wysyłki maili.
Częste pytania
Dlaczego formularz pokazuje „wysłano”, a maila nie ma?
Formularz potwierdza tylko swój etap. WordPress mógł przekazać wiadomość serwerowi, który jej nie wysłał, albo odbiorca ją odrzucił. Sprawdź dziennik maili, a potem wysyłkę przez SMTP i adres nadawcy.
Czy wtyczka SMTP rozwiąże problem?
Często tak, ale nie zawsze. Trzeba jeszcze ustawić nadawcę w domenie strony oraz rekordy SPF i DKIM. Bez tego wiadomości nadal mogą być odrzucane albo trafiać do spamu.
Czy mogę ustawić adres Gmail jako nadawcę formularza?
Lepiej nie. Wiadomość wysłana z serwera strony z adresem Gmail w polu „Od” wygląda jak podszywanie się pod cudzą domenę. Jako nadawcy używaj adresu w domenie strony, a Gmail wpisz jako odbiorcę. Wyjątkiem jest wysyłka przez konto Google podłączone we wtyczce SMTP.
Dlaczego WooCommerce nie wysyła potwierdzenia zamówienia?
Powiadomienie może być wyłączone, zamówienie mogło nie zmienić statusu, bo płatność nie wróciła z bramki, albo serwer nie wysyła poczty. Sprawdź po kolei ustawienia e-maili, status zamówienia i dziennik maili.
Maile dochodzą na Gmaila, ale nie na skrzynkę firmową. Dlaczego?
Każdy serwer pocztowy filtruje inaczej. Jeśli formularz wysyła z adresu w tej samej domenie co skrzynka firmowa, a rekord SPF nie obejmuje serwera strony, firmowa poczta może potraktować taką wiadomość jako podszywanie się pod własną domenę i ją odrzucić. Druga częsta przyczyna: hosting strony uznaje domenę za lokalną i nie wysyła wiadomości na zewnątrz, choć skrzynki działają w innej usłudze, na przykład Google Workspace lub Microsoft 365.
Jak nie tracić zgłoszeń, zanim naprawię pocztę?
Zapisuj je także w bazie strony: w Contact Form 7 służy do tego wtyczka Flamingo, w Elementorze lista „Submissions”, a zamówienia WooCommerce zapisują się zawsze. Można też dodać drugie powiadomienie, na przykład do Telegrama.
Ile trwa naprawa wysyłki maili?
Sama konfiguracja zajmuje zwykle kilka godzin. Zmiany w rekordach DNS zaczynają działać po propagacji, najczęściej w ciągu doby.
Czy muszę podawać hasło do poczty?
Nie w formularzu ani na czacie. Do pracy wystarczą tymczasowe dostępy do WordPressa i panelu domeny, które po zakończeniu prac usuniesz albo zmienisz.
Poczta WordPress i WooCommerce
Opisz, które wiadomości nie dochodzą
Podaj adres strony, formularz lub rodzaj maila ze sklepu, od kiedy nie działa i z jakiej poczty korzystasz. Nie wpisuj haseł w formularzu.
Maile ze strony nadal nie dochodzą?
Wyślij adres strony i krótki opis: który formularz lub mail, od kiedy i na jaką skrzynkę. Odpowiem z planem diagnostyki i ceną.