Strona główna  /  Wtyczki  /  Jak naprawić wysyłanie maili w WordPress?

✦ AI
Cyfrowa ikona koperty nad płytą główną komputera, symbolizująca połączenie z serwerem pocztowym w WordPressie.

Jak naprawić wysyłanie maili w WordPress?

WordPress najczęściej nie wysyła maili nie z powodu awarii strony, lecz przez ograniczenia funkcji PHP mail() albo błędną konfigurację nadawcy. Najpewniejszym rozwiązaniem jest przejście na SMTP, ustawienie skrzynki w domenie witryny i wykonanie testu wysyłki.

Dlaczego WordPress nie wysyła maili?

WordPress domyślnie korzysta z funkcji PHP mail(). Przekazuje ona wiadomość do mechanizmu pocztowego serwera, ale nie tworzy takiego uwierzytelnionego połączenia jak SMTP. Hosting może tę funkcję ograniczać lub całkowicie wyłączać, aby chronić serwer przed wysyłką spamu.

Problem może dotyczyć formularza kontaktowego, resetowania hasła, rejestracji użytkownika, powiadomień administratora lub wiadomości z WooCommerce. Zanim zmienisz konfigurację, sprawdź, czy wiadomość nie trafiła do folderu SPAM. Jeśli nie ma jej także tam, przyczyny zwykle należą do jednej z poniższych grup:

  • Wiadomość została dostarczona, ale filtr odbiorcy przeniósł ją do folderu SPAM.
  • Hosting blokuje funkcję PHP mail() albo nakłada limity na wysyłkę.
  • Formularz ma błędny adres odbiorcy, nadawcy lub nieprawidłowe nagłówki.
  • Adres nadawcy nie należy do domeny strony, przez co serwer traktuje wiadomość jako podejrzaną.

W przypadku Contact Form 7 sprawdź osobno pola odbiorcy i nadawcy w zakładce ustawień poczty formularza. Adres wpisany jako nadawca powinien być zgodny z domeną strony, a adres użytkownika lepiej przekazywać w polu „Reply-To”, zamiast podstawiać go jako nadawcę.

PHP mail() a SMTP – jaka jest różnica?

PHP mail() jest prostym mechanizmem wywoływanym przez skrypt. Nie oznacza to, że każda wiadomość wysłana w ten sposób jest automatycznie niebezpieczna, ale metoda daje hostingowi i serwerom odbiorców mniej informacji potrzebnych do potwierdzenia tożsamości nadawcy. SMTP wykorzystuje autoryzowane połączenie z serwerem pocztowym, zwykle z szyfrowaniem i logowaniem do konkretnej skrzynki.

Cecha PHP mail() SMTP
Bezpieczeństwo Zależy od konfiguracji serwera i może być ograniczone. Wykorzystuje autoryzację oraz zwykle szyfrowanie TLS lub SSL.
Dostarczalność Wiadomości częściej trafiają do SPAM-u albo są odrzucane. Serwer odbiorcy może łatwiej zweryfikować nadawcę.
Konfiguracja Często nie wymaga ustawień w WordPressie. Wymaga hosta, portu, szyfrowania i danych skrzynki.

SMTP nie gwarantuje dostarczenia każdej wiadomości, ale usuwa jedną z najczęstszych przyczyn problemów. W praktyce WordPress przestaje wysyłać pocztę „w ciemno” i korzysta z serwera, który zna konto nadawcy.

Jak skonfigurować SMTP w WordPress?

Na hostingu współdzielonym najprościej użyć wtyczki SMTP, na przykład WP Mail SMTP. Nazwy pól mogą się nieznacznie różnić zależnie od wtyczki i dostawcy poczty, ale potrzebne dane są podobne.

  1. Zainstaluj i aktywuj wtyczkę SMTP w panelu WordPress, przechodząc do sekcji „Wtyczki” i „Dodaj nową”.
  2. Ustaw adres nadawcy, na przykład [email protected]. Powinien to być istniejący adres w domenie strony, a nie przypadkowy adres Gmail lub innej domeny.
  3. Wybierz opcję „Other SMTP”, jeśli korzystasz z danych skrzynki udostępnionych przez hosting.
  4. Wpisz host SMTP, port, rodzaj szyfrowania, nazwę użytkownika i hasło. Port oraz sposób szyfrowania podaje dostawca poczty, dlatego nie zgaduj tych wartości.
  5. Zapisz ustawienia i wyślij wiadomość testową z panelu wtyczki.

Najważniejszym etapem jest test wysyłki. Wyślij wiadomość na adres, do którego masz dostęp, a następnie sprawdź skrzynkę odbiorczą, SPAM oraz nagłówki wiadomości. Jeżeli test się nie powiedzie, komunikat wtyczki często wskaże, czy problem dotyczy hasła, portu, szyfrowania lub połączenia z serwerem.

Adres nadawcy musi pasować do domeny strony. Utwórz na hostingu skrzynkę, na przykład [email protected], i użyj jej jako konta SMTP. Nie ustawiaj adresu odwiedzającego formularz jako nadawcy. Taki adres może pochodzić z innej domeny i naruszać zasady weryfikacji nadawcy. Do odpowiedzi użyj pola „Reply-To”.

Ostrzeżenie: część hostingów pozwala wysyłać pocztę tylko z istniejących skrzynek w danej domenie. Samo wpisanie adresu [email protected] w ustawieniach nie wystarczy, jeśli taka skrzynka nie została utworzona w panelu hostingu.

Jak sprawdzić wysyłkę po konfiguracji?

Test wtyczki SMTP potwierdza połączenie z serwerem, ale nie zawsze sprawdza cały formularz. Dlatego po udanym teście wykonaj również próbę z poziomu strony:

  1. Wyślij wiadomość przez każdy formularz kontaktowy i sprawdź, czy trafia do właściwej skrzynki.
  2. Użyj funkcji resetowania hasła WordPressa, aby przetestować wiadomość systemową.
  3. Sprawdź folder SPAM i nagłówki otrzymanej wiadomości.
  4. Jeśli wiadomość nie dociera, zajrzyj do logów wtyczki oraz sprawdź, czy formularz nie zgłasza błędu walidacji lub zabezpieczeń.

Jeśli test SMTP działa, ale formularz nadal milczy, problem leży najczęściej w jego konfiguracji. Sprawdź adres odbiorcy, pole „From”, „Reply-To”, ustawienia reCAPTCHA oraz ewentualne konflikty z innymi wtyczkami.

Dlaczego SPF, DKIM i DMARC mają znaczenie?

Samo SMTP nie rozwiązuje wszystkich problemów z dostarczalnością. Serwery odbiorców sprawdzają także, czy domena rzeczywiście upoważnia dany serwer do wysyłania wiadomości. Służą do tego rekordy DNS, które działają jak dowód autentyczności domeny.

SPF określa, które serwery mogą wysyłać pocztę w imieniu domeny. DKIM dodaje do wiadomości podpis weryfikowany za pomocą klucza publicznego umieszczonego w DNS. DMARC definiuje sposób postępowania z wiadomościami, które nie przejdą kontroli SPF lub DKIM.

W panelu domeny lub hostingu sprawdź następujące elementy:

  • Rekord SPF obejmuje serwer lub usługę używaną do wysyłki.
  • Rekord DKIM został dodany zgodnie z instrukcją dostawcy poczty.
  • Rekord DMARC nie nakazuje odrzucać prawidłowych wiadomości przez błędną konfigurację.
  • Adres nadawcy, serwer SMTP i domena używana w DNS są ze sobą zgodne.

Nie kopiuj gotowego rekordu SPF bez sprawdzenia dokumentacji dostawcy. Jeśli domena korzysta z kilku usług wysyłkowych, rekord musi uwzględniać je w jednej poprawnej deklaracji. Błędne lub powielone rekordy SPF mogą pogorszyć dostarczalność.

Co zrobić, jeśli SMTP nadal nie działa?

Sprawdź ponownie host, port, szyfrowanie oraz dane logowania. Upewnij się, że skrzynka istnieje i może wysyłać wiadomości. Jeśli test wtyczki kończy się błędem mimo poprawnych danych, hosting może blokować połączenia wychodzące, nakładać limit wysyłki albo korzystać z adresu IP o słabej reputacji.

W takiej sytuacji przygotuj dla supportu nazwę domeny, komunikat błędu, godzinę testu i informację, z jakiego hosta oraz portu SMTP korzystasz. Hosting może sprawdzić logi serwera, ograniczenia konta i status adresu IP.

Najczęściej wystarczy przejście z PHP mail() na SMTP, użycie istniejącej skrzynki w domenie strony, poprawienie rekordów SPF, DKIM i DMARC oraz wykonanie testu z wtyczki. Jeśli te kroki nie pomagają, przyczyny trzeba szukać po stronie hostingu albo konfiguracji samego formularza.

Redakcja wpinternals.pl

WordPressa znamy od kuchni – budujemy na nim strony, migrujemy serwisy i optymalizujemy ich wydajność. Piszemy o wtyczkach, motywach, hostingu i bezpieczeństwie tak, by poradzili sobie także początkujący. Dbamy o to, by Twoja strona była szybka, stabilna i bezpieczna.

Może Cię również zainteresować

Potrzebujesz więcej informacji?