Problem z Pocztą Email – Formularz Nie Wysyła Maili
W tym artykule dowiesz się dlaczego Twój WordPress nie wysyła maili, dlaczego wysyłane maile trafiają do spamu, a przy okazji dowiesz się jak zmienić nazwę i adres email nadawcy w powiadomieniach WordPress, wysyłanych na przykład po rejestracji nowego użytkownika.
Formularz nie wysyła maili
Jeżeli formularz nie wysyła maili, a wydaje Ci się, że wszystko masz skonfigurowane poprawnie, to najzwyczajniej sprawdź czy Twój hosting nie blokuje funkcji mail().
Dlaczego firma hostingowa miałaby blokować wysyłanie maili?
Firmy hostingowe nie blokują wysyłania maili, tylko blokują samą funkcję mail(), która wysyła niezabezpieczone wiadomości email za pośrednictwem PHP (skryptowy język programowania służący głównie do tworzenia stron internetowych). Funkcja mail() używana przez WordPress nie wykorzystuje protokołu SMTP, przez co wiadomości email wysyłane za pośrednictwem tej funkcji nie są szyfrowane.
Firmy hostingowe, które wyłączają funkcję mail() należy zatem chwalić, bo w ten sposób dbają o bezpieczeństwo naszych danych.
Tylko mogłyby one trochę lepiej to komunikować… 🙂
Szukasz dobrej firmy hostingowej? Tutaj dowiesz się wszystkiego na temat najlepszego hostingu.
Firmy hostingowe, które z tego co wiem blokują funkcję mail():
- az.pl
- home.pl
- atthost.pl
Nie wiem jak to jest w pozostałych dwóch firmach, ale w firmie atthost.pl mamy możliwość włączenia tej funkcji. Jest ona domyślnie wyłączona, ale jeżeli wiemy co robimy (na przykład wiesz, że nie będziesz przesyłać poufnych danych), to możesz sobie ją włączyć.
Jak włączyć pocztę email na hostingu atthost.pl
Masz hosting atthost i nie działa Ci wysyłanie maili? Oto jak włączyć funkcję mail() w atthost.
- Po zalogowaniu do panelu administracyjnego hostingu atthost, przechodzimy do zakładki Strony WWW
- Klikamy przycisk Edytuj w wierszu z interesującą nas stroną internetową (robimy to dla każdej strony osobno).
- Zaznacz opcję Włącz funkcję mail() w PHP i kliknij Zapisz na samym dole strony.
Tylko pamiętaj!
W ten sposób Twój WordPress zacznie wysyłać maile, ale nie będzie wysyłał maili bezpiecznie! Nie będą one szyfrowane, więc teoretycznie mogą zostać przechwycone i odczytane przez osoby trzecie.
I tutaj pojawia się kolejny powód, dla którego formularz nie wysyła maili. A w zasadzie to pułapka – może być, że formularz te maile wysyła, tylko nie są one dostarczane.
Maile nie dochodzą, albo lądują w spamie
Nieszyfrowane wiadomości email mogą mieć spore problemy, żeby przedostać się przez coraz bardziej restrykcyjne filtry antyspamowe.
Tak samo jak w przypadku stron internetowych – strony bez certyfikatów SSL (bez szyfrowania) spadają w rankingach, bo wyszukiwarki nie chcą pokazywać podejrzanych treści, w przypadku wiadomości email jest podobnie – gdy nie są zabezpieczone certyfikatem SSL, często nie są dostarczane, trafiają prosto do spamu, albo są oznaczane wielkim czerwonym banerem z napisem NIEBEZPIECZNE, co sprawia, że odbiorca takiej wiadomości niechętnie je otwiera, a często po prostu usuwa bez czytania.
Dlatego, jeżeli chcesz mieć pewność, że Twoje wiadomości email są dostarczane, musisz zadbać o ich bezpieczeństwo.
Jak bezpiecznie wysyłać pocztę email z WordPress’a?
W przypadku hostingu współdzielonego nie mamy za bardzo innego wyjścia, tylko użyć wtyczki do konfiguracji SMTP dla poczty wychodzącej z naszego WordPressa.
Trzy najbardziej znane wtyczki do SMTP, to
Którą wybrać?
To w zasadzie bez różnicy. Wszystkie trzy są bardzo dobre.
Konfiguracja wtyczki do SMTP
Obojętnie którą wtyczkę do SMTP wybierzesz, ich konfiguracja jest bardzo podobna. Podajemy w nich dane nadawcy, dane logowania do serwera SMTP i wysyła się wiadomość testową.
Dane nadawcy
WordPress wysyłając powiadomienia email w ich polu „OD”, jako nadawcę wstawia wyraz WordPress, a adres nadawcy to wordpress@twoja_domena.pl, co nie wygląda zbyt profesjonalnie:
Wtyczki do konfiguracji SMTP pozwalają na zmianę tych domyślnych wartości. Służą do tego dwa pola:
- From Email Address – jest to adres email nadawcy, widoczny w polu „OD” otrzymywanych wiadomości
- From Name – jest to nazwa nadawcy, gdzie możesz podać nazwę firmy, albo swoje imię i nazwisko
Dane logowania do serwera SMTP
W tej sekcji podajemy dane potrzebne do zalogowania się do konta pocztowego. Znajdziesz je na stronie Twojego dostawcy usługi email.
- SMTP Host – tutaj podajemy adres serwera SMTP dostawcy usługi poczty
- Type of Encription – Rodzaj szyfrowania
- SMTP Port – Numer portu do połączeń z serwerem SMTP
- SMTP Authentication – zaznaczamy, czy nasz serwer SMTP wymaga autoryzacji (przeważnie tak – „Yes”)
- SMTP username – adres email Twojego konta pocztowego
- SMTP Password – hasło do Twojego konta pocztowego
Wiadomość testowa
Na koniec możemy wysłać wiadomość testową na dowolny adres email, żeby sprawdzić czy wszystko działa i czy formularz wysyła maile.
Zobacz film YouTube
Jak robią to lepsze hostingi?
Te najlepsze hostingi, jak na przykład hosting Cloudways pozwalają pominąć instalację wtyczki do konfiguracji SMTP. W przypadku tego hostingu VPS mamy możliwość konfiguracji połączenia SMTP dla poczty wychodzącej WordPress na poziomie serwera.
Ustawienia zabezpieczeń antyspamowych serwera (Twojego hostingu)
Czasami formularz nie wysyła maili, bo ma źle skonfigurowany adres nadawcy, zawarty w nagłówku wysyłanej wiadomości e-mail.
Niektóre firmy hostingowe stosują na swoich serwerach zabezpieczenia antyspamowe, które pozwalają wysłać wiadomość tylko wtedy, gdy konto email, które zostało podane jako adres nadawcy, istnieje na serwerze, z którego chcemy wysłać wiadomość email. W niektórych przypadkach wystarczy, że adres nadawcy jest w tej samej domenie (cokolwiek@twojadomena.pl).
Inaczej mówiąc, musisz użyć adresu nazwa@twojadomena.pl jako adres nadawcy, a czasami konto nazwa@twojadomena.pl musi istnieć na Twoim serwerze, żeby wszystko działało poprawnie.
Często zdarza się, że instalując WordPressa podajemy prywatny adres email (na przykład nazwa@gmail.com). Instalujemy popularną wtyczkę Contact Form 7, która domyślnie jako adres nadawcy ustawia adres administratora WordPress (nasz prywatny adres). Przy próbie wysłania wiadomości przez formularz, serwer sprawdza adres nadawcy (nasz prywatny Gmail), który nie istnieje na tym serwerze, więc wiadomość taka jest blokowana przez system antyspamowy serwera i w efekcie formularz nie wysyła wiadomości email…
Jak to naprawić?
Przede wszystkim, w takim przypadku musisz utworzyć konto email na swoim koncie hostingowym (na przykład nazwa@twojadomena.pl).
Następnie sprawdź konfigurację swojego formularza.
Poniżej znajdziesz przykład konfiguracji formularza Contact Form 7.
Gdy formularz nie wysyła maili, a powinien 🙂 czasami wystarczy w polu Nadawca podać adres email w domenie Twojej witryny. Jeśli to nie pomoże, to konieczne może okazać się podanie adresu istniejącego konta email (też w domenie Twojej witryny). Często w polu tym zamiast Twojego adresu email znajduje się adres wordpress@twojadomena.pl
Upewnij się też, że w polu Dodatkowe nagłówki masz tak jak pokazane na powyższym zdjęciu Reply-To: [your-email].
Sprawdź reCAPTCHA
Jeżeli korzystasz z reCAPTCHA i Twój formularz nie wysyła maili, to upewnij się, że masz poprawnie wpisane wszystkie klucze API. Niekiedy trzeba wygenerować takie klucze na nowo i zaktualizować w ustawieniach wtyczki.
Gdy masz problem z reCAPTCHA, WordPress powinien wysyłać powiadomienia email, bo tutaj reCAPTCHA nie jest wykorzystywane.
Możesz na przykład dodać nowego użytkownika, albo zmienić hasło, żeby sprawdzić, czy otrzymasz powiadomienie od WordPressa.