Formularz kontaktowy WordPress nie wysyła maili – rozwiązanie
Contact Form 7, WPForms, Gravity Forms — każdy z nich może przestać wysyłać wiadomości, jeśli hosting blokuje funkcję mail(). Sprawdź, dlaczego formularze milczą i jak to naprawić w 15 minut za pomocą SMTP.
Dlaczego formularze WordPress przestają wysyłać maile?
Większość popularnych wtyczek formularzy (Contact Form 7, WPForms, Gravity Forms, Ninja Forms) do wysyłania maili używa funkcji PHP mail(). Problem w tym, że ta funkcja zależy od konfiguracji serwera pocztowego hostingu — i wiele hostingów celowo ją ogranicza lub blokuje, żeby zapobiegać wysyłaniu spamu.
Wynik jest paradoksalny: formularz działa poprawnie (dane są zapisywane), ale mail nigdy nie dociera do skrzynki. Lub trafia do folderu spam.
Krok 1 – Sprawdź folder spam
To banalne, ale często pomijane. Sprawdź folder spam w swojej skrzynce. Wiele filtrów antyspamowych (szczególnie Gmail i Outlook) klasyfikuje maile wysyłane przez mail() z hostingu jako spam, bo nie przechodzą weryfikacji SPF/DKIM.
Jeśli mail trafia do spamu — to sygnał, że Twój hosting nie jest prawidłowo skonfigurowany pod kątem wysyłki. Rozwiązaniem jest SMTP (opisujemy poniżej).
Krok 2 – Zainstaluj wtyczkę diagnostyczną
Zainstaluj darmową wtyczkę Check & Log Email. Pozwala wysłać testową wiadomość bezpośrednio z WordPress i sprawdzić czy funkcja mail() w ogóle działa. Pokazuje też logi wszystkich prób wysyłki z czasem i wynikiem.
Jeśli testowy mail nie dociera — potwierdzasz, że problem leży w konfiguracji wysyłki, nie w samej wtyczce formularzy.
Krok 3 – Skonfiguruj SMTP (rozwiązanie docelowe)
SMTP (Simple Mail Transfer Protocol) to protokół wysyłki maili przez zewnętrzny serwer pocztowy — np. Gmail, Outlook, Zoho Mail lub dedykowany serwer hostingu. Zamiast używać słabej funkcji mail(), WordPress wysyła maile przez prawdziwe konto e-mail z autoryzacją.
Najpopularniejsze wtyczki SMTP:
- WP Mail SMTP (darmowa) — najpopularniejsza, obsługuje Gmail, Outlook, SendGrid, Mailgun i inne
- FluentSMTP (darmowa) — dobra alternatywa, obsługuje wiele kont jednocześnie
- Post SMTP (darmowa) — ze szczegółowym logowaniem maili
Konfiguracja z kontem Gmail (najprostsze):
- Zainstaluj WP Mail SMTP
- W ustawieniach wybierz „Google / Gmail" jako mailer
- Postępuj zgodnie z instrukcją tworzenia Google OAuth — wymaga chwilowego dostępu do Google Cloud Console (WP Mail SMTP Pro ma uproszczony kreator)
- Alternatywa: użyj hasła aplikacyjnego Google (wymaga włączonego 2FA na koncie Google)
Krok 4 – Skonfiguruj SPF i DKIM dla domeny
Nawet z SMTP, jeśli Twoja domena nie ma poprawnych rekordów SPF i DKIM, część maili będzie trafiać do spamu. SPF i DKIM to mechanizmy uwierzytelniania e-mail, które potwierdzają że mail wysyłany z Twojej domeny rzeczywiście pochodzi od Ciebie.
Rekordy SPF i DKIM konfiguruje się w strefie DNS domeny. Dokładne wartości dostarcza Twój dostawca poczty (hosting, Google Workspace, Zoho). Większość paneli DNS prowadzi przez ten proces krok po kroku.
Formularz działa, ale wiadomości znikają — sprawdź też te rzeczy
- Adres e-mail administratora — w Ustawieniach → Ogólne sprawdź czy adres e-mail administratora WordPress jest poprawny i aktywny
- Konfiguracja wtyczki formularza — w Contact Form 7 sprawdź zakładkę „Mail" i upewnij się że „Do" (adresat) jest ustawiony poprawnie
- Konflikty wtyczek — niektóre wtyczki bezpieczeństwa lub cache mogą blokować wysyłkę. Sprawdź czy problem znika po ich dezaktywacji.
- Filtr antyspamowy w skrzynce — reguły w Outlooku lub Gmail mogą automatycznie usuwać lub archiwizować przychodzące maile z formularzy
Problem z formularzem może być też objawem głębszego problemu z konfiguracją serwera. Jeśli strona ma też inne nieprawidłowości, sprawdź jak diagnozować błąd 500 oraz czy nie masz konfliktu między wtyczkami — szczególnie między wtyczką formularza a wtyczką cache lub bezpieczeństwa.
Potrzebujesz pomocy z wizytówką Google?
Bezpłatna konsultacja — sprawdzę Twój profil i powiem co poprawić.