Strona główna  /  Wtyczki  /  Dlaczego WordPress nie wysyła maili? Jak rozwiązać ten problem?

✦ AI
Ekran laptopa z wyświetlonym logiem błędów serwera w nowoczesnym biurze, symbolizujący problemy techniczne z pocztą e-mail.

Dlaczego WordPress nie wysyła maili? Jak rozwiązać ten problem?

WordPress domyślnie korzysta z funkcji PHP mail(), która nie wymaga logowania do skrzynki i bywa blokowana przez hosting albo odrzucana przez filtry antyspamowe. Najpewniejszym rozwiązaniem jest konfiguracja SMTP za pomocą wtyczki, na przykład WP Mail SMTP.

Dlaczego WordPress nie wysyła maili?

WordPress wysyła powiadomienia, wiadomości z formularzy i linki do resetowania hasła przez funkcję PHP mail(). Nie jest ona tym samym co SMTP. PHP mail() przekazuje wiadomość do systemu pocztowego serwera, ale zwykle nie uwierzytelnia nadawcy przy użyciu danych konkretnej skrzynki.

Taki sposób działania ma dwie konsekwencje. Hosting może zablokować funkcję mail(), aby z jego serwera nie rozsyłano spamu. Z kolei serwer odbiorcy może uznać wiadomość za podejrzaną, ponieważ pochodzi z niewystarczająco zweryfikowanego źródła. W efekcie wiadomość trafia do folderu SPAM albo nie zostaje dostarczona.

Znaczenie ma też adres nadawcy. Wiele serwerów pozwala wysyłać wiadomości tylko wtedy, gdy adres w polu „Od” należy do domeny użytej przy autoryzacji, a czasem gdy wskazana skrzynka rzeczywiście istnieje na tym hostingu. Prywatny adres Gmail użyty jako nadawca formularza może więc zostać odrzucony.

Co sprawdzić w pierwszej kolejności?

Zanim zmienisz konfigurację serwera, sprawdź podstawowe przyczyny. Najczęściej problem wynika z jednego z tych ustawień:

  • Sprawdź folder SPAM, Oferty lub Inne na skrzynce odbiorcy.
  • Zweryfikuj adres administratora w ustawieniach WordPressa, ponieważ literówka albo stary adres uniemożliwi otrzymanie linku resetującego hasło.
  • Sprawdź ustawienia pól „Odbiorca” i „Nadawca” we wtyczce formularza, a jako nadawcę użyj adresu w domenie strony.
  • Wyłącz tymczasowo wtyczki bezpieczeństwa i cache, aby sprawdzić, czy nie blokują wysyłki.
  • Jeśli formularz korzysta z reCAPTCHA, zweryfikuj klucze API lub wygeneruj je ponownie.

W przypadku Contact Form 7 adres osoby wypełniającej formularz lepiej umieścić w nagłówku „Reply-To”, a nie w polu „From”. Nadawcą powinien być adres należący do Twojej domeny, na przykład [email protected].

Objaw, przyczyna i rozwiązanie

Poniższe zestawienie pomaga szybko powiązać objaw z najbardziej prawdopodobnym źródłem problemu:

Objaw Prawdopodobna przyczyna Rozwiązanie
Brak wiadomości z resetem hasła Blokada PHP mail() albo błędny adres administratora Sprawdź adres i skonfiguruj SMTP
Formularz działa, ale wiadomość nie dochodzi Filtr SPAM lub niezgodny adres nadawcy Użyj autoryzowanego SMTP i adresu w domenie
Formularz pokazuje błąd po wysłaniu Konflikt wtyczek, błędna reCAPTCHA lub ustawienia formularza Zweryfikuj konfigurację i testuj wtyczki pojedynczo

Jak skonfigurować SMTP w WordPressie?

SMTP wymaga zalogowania do istniejącej skrzynki pocztowej. WordPress nie wysyła wtedy wiadomości anonimowo, lecz korzysta z serwera pocztowego i danych uwierzytelniających konkretnego konta.

  1. Zainstaluj wtyczkę SMTP – w panelu WordPressa wybierz wtyczkę WP Mail SMTP. Alternatywą może być Easy WP SMTP.
  2. Przygotuj dane skrzynki – potrzebujesz adresu serwera SMTP, portu, loginu i hasła. Najczęściej loginem jest pełny adres e-mail. Dostawca poczty może wskazywać port 587 z szyfrowaniem STARTTLS, ale użyj parametrów podanych dla Twojej usługi.
  3. Ustaw nadawcę – wpisz adres istniejącej skrzynki, najlepiej w domenie strony, i włącz wymuszanie tego adresu dla wszystkich wiadomości. Nie używaj prywatnego Gmaila jako nadawcy, jeśli wiadomość jest wysyłana przez serwer Twojej domeny.
  4. Wyślij wiadomość testową – sprawdź dostarczenie na wybrany adres. Jeśli test się nie powiedzie, zweryfikuj port, szyfrowanie, login i hasło albo poproś hosting o sprawdzenie blokady po stronie serwera.

Ostrzeżenie: hasło do skrzynki i pozostałe dane SMTP są poufne. Nie wysyłaj ich osobom trzecim ani nie umieszczaj w publicznych zgłoszeniach. Jeśli wtyczka oferuje bezpieczniejszą metodę autoryzacji zamiast przechowywania hasła, rozważ jej użycie.

Konfiguracja SMTP nie gwarantuje automatycznie trafienia każdej wiadomości do skrzynki głównej, ponieważ na dostarczanie wpływają także filtry odbiorcy i reputacja domeny. Usuwa jednak najczęstszy problem związany z anonimową wysyłką przez PHP mail().

SMTP jest standardowym rozwiązaniem dla stron, które wysyłają formularze, resetują hasła lub przekazują powiadomienia. Zamiast polegać na domyślnej funkcji serwera, WordPress korzysta wtedy z autoryzowanej skrzynki, co zwykle stabilizuje wysyłkę i ułatwia diagnozę błędów.

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?