Brak wiadomości z formularza, resetu hasła albo rejestracji użytkownika zwykle wynika ze sposobu, w jaki WordPress wysyła pocztę. Najpierw wykonaj test, a następnie skonfiguruj SMTP, czyli uwierzytelnioną wysyłkę przez serwer pocztowy.
Jak sprawdzić, czy WordPress wysyła wiadomości?
Zanim zmienisz konfigurację, sprawdź, czy problem dotyczy całej witryny, czy tylko konkretnego formularza. Najprostszy test wykorzystuje systemowe powiadomienie o zmianie hasła.
- Otwórz stronę logowania WordPress i wybierz opcję „Nie pamiętasz hasła?”.
- Wpisz adres e-mail użytkownika istniejącego w witrynie.
- Odczekaj kilka minut, a następnie sprawdź skrzynkę odbiorczą oraz folder SPAM.
- Powtórz próbę z adresem w innej usłudze pocztowej, jeśli masz taką możliwość.
- Wyślij wiadomość testową z formularza kontaktowego i sprawdź, czy trafia na właściwy adres.
Jeśli nie dochodzi ani wiadomość do resetu hasła, ani e-mail z formularza, problem najprawdopodobniej dotyczy sposobu wysyłki skonfigurowanego dla całego WordPressa. Gdy test systemowy działa, a formularz nadal nie wysyła wiadomości, sprawdź jego adres odbiorcy, pole nadawcy i ustawienia samej wtyczki.
Wtyczki SMTP często mają funkcję wysyłki testowej oraz logi. Test pozwala sprawdzić połączenie z serwerem, a log pokazuje, czy wiadomość została przekazana do wysyłki i jaki błąd zwrócił serwer.
PHP mail() a SMTP – skąd bierze się różnica?
WordPress korzysta z funkcji PHP mail() za pośrednictwem mechanizmu wp_mail(). Nie jest to pełna konfiguracja skrzynki pocztowej. Serwer próbuje przekazać wiadomość bez uwierzytelnienia na poziomie konkretnego konta, dlatego hosting może ograniczać tę funkcję, a serwer odbiorcy może uznać wiadomość za podejrzaną.
SMTP działa inaczej. WordPress łączy się z określonym serwerem pocztowym, podaje dane konta i przekazuje wiadomość przez uwierzytelnione połączenie. Nie gwarantuje to automatycznie dostarczenia do skrzynki głównej, ale daje serwerom odbiorczym więcej informacji potrzebnych do oceny nadawcy.
| Cecha | PHP mail() | SMTP |
|---|---|---|
| Uwierzytelnienie | Zwykle brak danych konkretnej skrzynki | Login, hasło lub inna metoda autoryzacji |
| Stabilność | Zależna od konfiguracji i ograniczeń hostingu | Zależna od wybranego serwera pocztowego |
| Szansa na SPAM | Może być większa przy braku autoryzacji domeny | Zwykle mniejsza, jeśli SMTP i DNS są poprawnie skonfigurowane |
| Konfiguracja | Często nie wymaga ustawień | Wymaga hosta, portu, szyfrowania i danych logowania |
Jak wdrożyć SMTP w WordPress?
Do konfiguracji możesz użyć wtyczki, na przykład WP Mail SMTP, Easy WP SMTP albo Fluent SMTP. Nazwy ustawień mogą się różnić zależnie od narzędzia, lecz ogólny proces pozostaje podobny.
- Zainstaluj i aktywuj wybraną wtyczkę SMTP w panelu WordPress.
- Utwórz skrzynkę w domenie strony, na przykład
[email protected], albo wybierz zewnętrznego dostawcę poczty. - Wprowadź adres serwera SMTP, port, typ szyfrowania, nazwę użytkownika i hasło.
- Ustaw adres nadawcy zgodny z domeną strony i, jeśli wtyczka na to pozwala, wymuś jego używanie przez wszystkie wiadomości.
- Zapisz konfigurację i uruchom wysyłkę testową na własny adres.
- Powtórz test resetu hasła oraz formularza kontaktowego.
Dane serwera znajdziesz w panelu hostingu albo dokumentacji dostawcy poczty. Najczęściej spotkasz port 587 dla połączenia z szyfrowaniem STARTTLS oraz port 465 dla połączenia szyfrowanego od początku. Zawsze zastosuj wartości podane przez konkretnego dostawcę, ponieważ nazwa hosta, sposób szyfrowania i wymagania dotyczące logowania mogą się różnić.
Adres nadawcy powinien należeć do tej samej domeny co strona. Używanie prywatnego adresu, na przykład z innej domeny, jako nadawcy witryny może pogorszyć zgodność z mechanizmami uwierzytelniania i zwiększyć ryzyko odrzucenia wiadomości.
Ostrzeżenie: błędny host, port, typ szyfrowania lub hasło może całkowicie zatrzymać wysyłkę. Nie zgaduj tych danych. Skopiuj je z panelu pocztowego, a jeśli zmieniasz ustawienia, wykonaj nowy test po każdej istotnej zmianie.
Co sprawdzić, gdy SMTP nadal nie działa?
Jeśli wiadomość testowa nie dochodzi, zacznij od logu wtyczki. Komunikat o błędzie może wskazać problem z uwierzytelnieniem, połączeniem, certyfikatem albo blokadą portu. Następnie przejdź przez tę listę kontrolną:
- Sprawdź, czy skrzynka użyta jako nadawca rzeczywiście istnieje.
- Porównaj host, port, szyfrowanie, login i hasło z danymi dostawcy.
- Upewnij się, że adres nadawcy jest zgodny z domeną witryny.
- Sprawdź rekord SPF w strefie DNS domeny.
- Zweryfikuj, czy dostawca poczty udostępnia rekord DKIM i czy został dodany do DNS.
- Sprawdź rekord DMARC oraz jego zgodność z polityką dostawcy poczty.
- Potwierdź w hostingu, że połączenia z używanym portem SMTP nie są blokowane.
Do sprawdzenia DNS możesz wykorzystać narzędzia dostępne u rejestratora domeny, panel dostawcy poczty oraz niezależne testery rekordów SPF, DKIM i DMARC. Rekord SPF wskazuje, które serwery mogą wysyłać pocztę w imieniu domeny. DKIM pozwala zweryfikować podpis wiadomości, a DMARC określa sposób postępowania z wiadomościami, które nie przejdą kontroli.
Przed kontaktem z pomocą techniczną hostingu przygotuj:
- adres domeny i skrzynkę używaną jako nadawca,
- nazwę oraz wersję wtyczki SMTP,
- dokładny komunikat błędu z testu lub logu,
- ustawiony host, port i typ szyfrowania bez ujawniania hasła,
- informację, czy problem dotyczy także resetu hasła i innych formularzy,
- wyniki sprawdzenia rekordów SPF, DKIM i DMARC.
Hosting może potwierdzić blokadę portu, limit wysyłki, ograniczenia funkcji PHP albo problem z adresem IP serwera. Jeśli konfiguracja SMTP działa, ale wiadomości są odrzucane przez wielu odbiorców, dostawca powinien także sprawdzić reputację serwera.
Najkrótsza droga do diagnozy wygląda tak: sprawdź SPAM, wykonaj reset hasła, uruchom test z wtyczki, skonfiguruj SMTP, a następnie zweryfikuj SPF, DKIM i DMARC. Taka kolejność pozwala odróżnić błąd formularza od problemu z całą infrastrukturą wysyłki.