Cześć! Jeśli Twój formularz kontaktowy na WordPress przestał wysyłać wiadomości, wiesz jak to jest. Czekasz na zapytania od klientów, a tymczasem cisza. Ktoś wypełnił formularz, kliknął „Wyślij” i… wiadomość przepadła gdzieś w próżni. Ani Ty jej nie dostałeś, ani klient nie wie, że coś poszło nie tak.
To jeden z najczęstszych problemów zgłaszanych przez właścicieli stron na WordPress. Z mojego doświadczenia wynika, że w większości przypadków winowajcą nie jest sam formularz, lecz sposób, w jaki WordPress domyślnie wysyła e-maile. Zaraz dokładnie to opiszę i pokażę Ci kilka konkretnych kroków, dzięki którym ten problem rozwiążesz samodzielnie w ciągu 30-60 minut.
W tym artykule nie będę wchodził w zaawansowaną konfigurację serwerową. Skupiam się na rozwiązaniach dostępnych dla każdego właściciela strony, nawet bez technicznego backgroundu.
Dlaczego WordPress nie wysyła e-maili z formularza?
To pytanie zadaje mi co kilka tygodni klient z Rzeszowa lub okolic Podkarpacia, który właśnie zauważył, że jego formularz kontaktowy milczy. Odpowiedź jest prosta, choć trochę techniczna.
WordPress domyślnie wysyła e-maile przez funkcję PHP mail(), czyli przez mechanizm zainstalowany na serwerze hostingowym. Brzmi niewinnie, ale tu tkwi problem. Wiele firm hostingowych blokuje lub ogranicza tę funkcję ze względów bezpieczeństwa. Dlaczego? Bo właśnie przez PHP mail() rozsyłano masowo spam przez przejęte serwery. Hostingi bronią się przed tym, ograniczając możliwości tej funkcji.
Efekt? E-mail technicznie „wychodzi” z formularza, ale serwer pocztowy odbiorcy odrzuca go jako podejrzanego lub ląduje w folderze spam. Albo w ogóle nie dociera.
Trzy najczęstsze przyczyny
- Brak autoryzacji SMTP — serwer wysyłający e-mail nie potrafi udowodnić, że jest uprawniony do wysyłki z danej domeny
- Błędny adres e-mail w ustawieniach formularza — np. literówka w polu „Wyślij do” albo adres, który już nie istnieje
- Wtyczka formularza jest przestarzała lub uszkodzona — Contact Form 7, WPForms czy Gravity Forms wymagają regularnych aktualizacji
Jak sprawdzić czy problem leży po stronie formularza czy serwera?
Zanim zaczniesz czegokolwiek zmieniać, sprawdź kilka rzeczy. To zajmie 5-10 minut i zaoszczędzi Ci szukania w złym miejscu.
Krok 1: Sprawdź folder spam
Brzmi banalnie, ale zaczyna się właśnie tutaj. Wejdź na swoją skrzynkę, folder SPAM lub Oferty w Gmailu. Jeśli wiadomości z formularza tam trafiają, masz odpowiedź — e-maile wychodzą, ale są oznaczane jako spam.
Krok 2: Sprawdź ustawienia wtyczki formularza
Jeśli używasz Contact Form 7 lub WPForms, wejdź w edycję formularza i sprawdź pole „Do” (lub „Send To”). Upewnij się, że:
- adres e-mail jest poprawny i aktywny
- nie ma literówki (np. „kontakkt@” zamiast „kontakt@”)
- adres z pola „Od” nie jest takim samym adresem co adres domeny (to może blokować wysyłkę na niektórych serwerach)
Krok 3: Użyj wtyczki testowej
Zainstaluj wtyczkę Check & Log Email (darmowa, dostępna w repozytorium WordPress). Pozwala ona wysłać testową wiadomość bezpośrednio z panelu WordPress i sprawdzić logi. Jeśli test zakończy się błędem — problem leży po stronie serwera lub konfiguracji SMTP.
WP Mail SMTP — najprostsze rozwiązanie
Jeśli potwierdziłeś, że problem jest z wysyłką e-maili, WP Mail SMTP to wtyczka, którą instaluję na prawie każdej stronie, którą buduję lub serwisuje. Darmowa wersja w zupełności wystarczy dla małej firmy usługowej.
Co robi? Zamiast korzystać z zawodnej funkcji PHP mail(), kieruje wysyłkę e-maili przez prawdziwy serwer SMTP, czyli przez Twoje konto Gmail, Outlook, Mailtrap lub SMTP hostingu. To znacznie bardziej wiarygodna droga.
Dlaczego Gmail działa najlepiej dla małych firm?
Jeśli masz konto Google Workspace (dawniej G Suite) lub zwykłe konto Gmail, możesz je podpiąć jako serwer SMTP. E-maile wysyłane przez Gmaila mają bardzo wysoką dostarczalność. Rzadko trafiają do spamu.
Psst… wiem, że brzmi to trochę jak „obejście problemu”, ale tak właśnie to działa w praktyce na większości hostingów współdzielonych.
Konfiguracja WP Mail SMTP krok po kroku
Nie będę niepotrzebnie przedłużał, przejdę od razu do konkretnych kroków.
Instalacja wtyczki:
- Przejdź do Wtyczki → Dodaj nową
- Wyszukaj „WP Mail SMTP”
- Zainstaluj i aktywuj
Konfiguracja przez Gmail:
- W panelu WordPress przejdź do WP Mail SMTP → Ustawienia
- W sekcji „Mailer” wybierz „Google / Gmail”
- Wtyczka poprosi Cię o stworzenie aplikacji w Google Cloud Console (dostępny jest kreator krok po kroku bezpośrednio w wtyczce)
- Po podłączeniu kliknij zakładkę „Email Test” i wyślij wiadomość testową na swój adres
Cały proces zajmuje około 20 minut dla osoby, która nigdy wcześniej tego nie robiła. Kreator w WP Mail SMTP jest naprawdę czytelny.
Alternatywa — SMTP hostingu:
Jeśli Twój hosting (np. home.pl, cyber_Folks, LH) udostępnia własny serwer SMTP, możesz go też użyć. Dane znajdziesz w panelu hostingu (zwykle: Poczta → Konta e-mail → Dane do konfiguracji). Wybierz wtedy opcję „Inny SMTP” w WP Mail SMTP i wpisz:
- Host: np. mail.twojadomena.pl
- Port: 465 (SSL) lub 587 (TLS)
- Login i hasło do konta e-mail
Co zrobić jeśli problem nadal występuje?
Zdarza się, że po konfiguracji SMTP formularz nadal nie działa. Oto lista rzeczy do sprawdzenia:
Sprawdź konflikt wtyczek. Niektóre wtyczki bezpieczeństwa (np. Wordfence, iThemes Security) mogą blokować wychodzące połączenia SMTP. Wyłącz je tymczasowo i przetestuj ponownie.
Sprawdź czy adres „Od” jest z Twojej domeny. Jeśli wysyłasz przez SMTP hostingu, adres nadawcy powinien być z tej samej domeny, co konto e-mail na hostingu. Inaczej serwer odrzuci wiadomość.
Zaktualizuj wtyczkę formularza. Contact Form 7 i WPForms regularnie wydają aktualizacje. Nieaktualny plugin to jeden z częstszych powodów problemów z wysyłką. Przy okazji warto też zadbać o ogólne bezpieczeństwo strony, o czym pisałem w artykule o 3 sposobach na zabezpieczenie strony logowania w WordPress.
Sprawdź logi. Wtyczka Check & Log Email zapisuje historię wysyłek. Możesz sprawdzić dokładny komunikat błędu, co znacznie przyspiesza diagnostykę.
Jeśli wszystko powyżej sprawdziłeś i nadal masz problem, warto zajrzeć na ustawienia hostingu. Część serwerów blokuje port 465 lub 587. W takim przypadku skontaktuj się ze swoim dostawcą hostingu, podaj mu komunikat błędu z logów i poproś o odblokowanie portów SMTP.
Przy okazji: regularna opieka WordPress to właśnie po to, żeby takie rzeczy wyłapywać zanim staną się problemem, a nie po tym jak klient napisze że „od tygodnia nie mogę się dodzwonić”.
Najczęściej zadawane pytania
Dlaczego formularz Contact Form 7 nie wysyła wiadomości?
Contact Form 7 wysyła e-maile przez PHP mail(), które na wielu hostingach jest ograniczone lub blokowane. Rozwiązaniem jest zainstalowanie WP Mail SMTP i skonfigurowanie zewnętrznego serwera SMTP (np. Gmail lub SMTP Twojego hostingu). Sam Contact Form 7 działa poprawnie, problem leży poniżej, na poziomie wysyłki e-maili przez serwer.
Czy muszę mieć konto Google Workspace żeby użyć Gmail jako SMTP?
Nie. Możesz użyć zwykłego bezpłatnego konta Gmail. Jednak Google Workspace (od około 6 USD miesięcznie) daje Ci adres e-mail z własną domeną (np. kontakt@twojafirma.pl), co wygląda profesjonalniej. Dla małej firmy usługowej z Podkarpacia, gdzie wiarygodność adresu e-mail ma znaczenie, polecam ten krok.
WPForms czy Contact Form 7 — który formularz jest lepszy?
To zależy od potrzeb. Contact Form 7 jest darmowy, lekki i wystarczy do prostego formularza kontaktowego. WPForms ma bardziej przyjazny interfejs i zaawansowane funkcje (np. warunkowe pola, integracje z CRM), ale pełna wersja kosztuje od 49 USD rocznie. Dla dietetyka czy trenera online, który potrzebuje tylko formularza zapisu na konsultację, Contact Form 7 + WP Mail SMTP w zupełności wystarczy.
Czy wiadomości z formularza mogą trafiać do spamu?
Tak i to bardzo częsty przypadek. Jeśli WordPress wysyła e-maile przez PHP mail() bez autoryzacji domeny (brak rekordów SPF i DKIM), skrzynka odbiorcy może oznaczyć je jako spam. Po konfiguracji SMTP przez Gmail lub hosting problem zwykle znika. Sprawdź też czy Twoja domena ma poprawnie ustawione rekordy SPF w DNS.
Ile czasu zajmuje naprawa formularza?
Przy standardowej konfiguracji WP Mail SMTP od 20 do 60 minut. Dłużej może trwać tylko jeśli trafisz na blokadę portów po stronie hostingu lub konieczność konfiguracji Google Cloud Console. Jeśli nie czujesz się z tym pewnie, lepiej zlecić to komuś.
Podsumowanie
Formularz kontaktowy, który nie wysyła wiadomości, to realny problem biznesowy. Każde zapytanie, które przepada, to potencjalny klient, który poszedł do konkurencji.
Najważniejsze kroki do rozwiązania problemu:
- sprawdź folder spam i ustawienia adresu e-mail w formularzu
- zainstaluj WP Mail SMTP i skonfiguruj zewnętrzny serwer SMTP
- przetestuj wysyłkę wtyczką Check & Log Email
- jeśli nadal nie działa, sprawdź konflikty wtyczek i ustawienia portów na hostingu
Wbrew pozorom większość problemów z formularzami WordPress rozwiązuje się w ciągu godziny i nie wymaga zatrudniania programisty. Wystarczy jeden plugin i 20 minut skupienia.
Jeśli jednak nie chcesz się w to bawić samodzielnie albo zrobiłeś wszystko powyżej i formularz nadal milczy, napisz do mnie. Pomagam właścicielom stron z Rzeszowa i całego Podkarpacia rozwiązywać właśnie takie rzeczy. Możesz napisać na kontakt@studiorange.pl lub zadzwonić pod +48 731 219 166.
Miłego dnia lub wieczoru i do zobaczenia w następnym wpisie!
