
SMTP w WordPressie: czemu formularz nie wysyła maili
To jedno z najczęstszych zgłoszeń po uruchomieniu nowej strony: formularz kontaktowy pokazuje komunikat o wysłaniu, a wiadomość nigdy nie dociera. Najgorsze jest to, że problem bywa wybiórczy. Do jednej skrzynki maile chodzą, do drugiej nie, więc przez pierwsze tygodnie nikt nie zauważa, że część zapytań od klientów po prostu przepada. Przyczyna jest prawie zawsze ta sama i naprawia się ją w kilkanaście minut.
Dlaczego domyślna wysyłka zawodzi
WordPress wysyła pocztę funkcją PHP, która przekazuje wiadomość bezpośrednio serwerowi. Wiadomość trafia w świat z adresem nadawcy w Twojej domenie, ale bez żadnego potwierdzenia, że nadawca ma prawo się nią posługiwać.
Z perspektywy serwera odbiorcy wygląda to dokładnie tak jak podszywanie się pod cudzą domenę, bo technicznie jest to ten sam schemat. Filtry reagują przewidywalnie: wiadomość ląduje w spamie albo zostaje odrzucona po cichu, bez informacji zwrotnej dla nadawcy. Stąd bierze się złudzenie, że formularz działa.
Przejście na SMTP zmienia jedną rzecz o zasadniczym znaczeniu: WordPress przestaje wysyłać samodzielnie, a zaczyna logować się do prawdziwej skrzynki i wysyłać przez nią, tak jak zrobiłby to program pocztowy. Wiadomość przechodzi wtedy normalną drogę uwierzytelnionego nadawcy.
Którą skrzynkę wybrać
Najprostsze i najbardziej sensowne rozwiązanie to skrzynka w tej samej domenie, w której stoi strona. W pakietach RapidDC liczba kont e-mail nie jest limitowana, więc utworzenie osobnego konta wyłącznie dla strony nic nie kosztuje i bardzo się opłaca.
Załóż konto w rodzaju strona@twojadomena.pl albo no-reply@twojadomena.pl i używaj go tylko do tego celu. Zyskujesz trzy rzeczy. Hasło do tego konta trafia do konfiguracji strony, a nie hasło do Twojej prawdziwej skrzynki. W razie włamania na stronę wystarczy zmienić jedno hasło i odciąć wysyłkę. Wiadomości systemowe da się też łatwo odfiltrować po nadawcy.
Konta założysz w panelu DirectAdmin, opisanym we wpisie o panelu DirectAdmin.
Ustawienia, które trzeba wpisać
Po instalacji dowolnej wtyczki obsługującej SMTP konfiguracja sprowadza się do kilku pól:
- Serwer: adres serwera poczty wychodzącej podany przez hostingodawcę dla Twojego konta.
- Port i szyfrowanie: 587 z szyfrowaniem STARTTLS albo 465 z szyfrowaniem SSL. Port 25 pomijaj, bo bywa blokowany i coraz częściej nie obsługuje szyfrowania.
- Uwierzytelnianie: włączone, z pełnym adresem e-mail jako nazwą użytkownika. Sama część przed małpą to najczęstsza przyczyna błędu logowania.
- Adres nadawcy: dokładnie ten sam, co adres skrzynki użytej do wysyłki.
- Nazwa nadawcy: nazwa firmy, bo to ona wyświetli się odbiorcy.
Czwarty punkt jest tym, który najczęściej psuje konfigurację mimo poprawnego hasła. Jeśli logujesz się jako strona@twojadomena.pl, a jako nadawcę ustawisz kontakt@twojadomena.pl, część serwerów odrzuci taką wiadomość jako niespójną. Oba adresy mają być identyczne.
Hasło trzymaj w pliku wp-config.php jako stałą, zamiast wpisywać je w ustawieniach wtyczki. Dzięki temu nie jest widoczne dla nikogo, kto ma dostęp do panelu administracyjnego.
Formularz kontaktowy wymaga osobnej uwagi
Po przestawieniu wysyłki na SMTP pojawia się druga pułapka, tym razem po stronie formularza. Wiele formularzy domyślnie ustawia jako nadawcę adres wpisany przez odwiedzającego, co przy uwierzytelnionej wysyłce znów tworzy niespójność i wiadomość przestaje docierać.
Poprawna konfiguracja wygląda tak: jako nadawcę ustaw stały adres swojej skrzynki, a adres podany przez odwiedzającego umieść w polu odpowiedzi. Wtedy wiadomość wychodzi poprawnie, a klikając „Odpowiedz”, piszesz wprost do osoby, która wypełniła formularz. Wygoda ta sama, dostarczalność zupełnie inna.
Rekordy, które dokańczają temat
SMTP rozwiązuje kwestię uwierzytelnienia przy wysyłce, ale o tym, czy Twoja domena w ogóle ma prawo wysyłać pocztę, decydują wpisy w strefie DNS. To rekordy typu TXT, o których pisaliśmy we wpisie o rekordach DNS.
Bez poprawnego wpisu potwierdzającego listę uprawnionych serwerów nawet wiadomości wysyłane przez SMTP będą traktowane podejrzliwie, zwłaszcza przez dużych dostawców poczty. Te dwie rzeczy działają razem i dopiero komplet daje przewidywalny efekt. Szerzej o zabezpieczaniu firmowej poczty pisaliśmy we wpisie o bezpieczeństwie poczty e-mail.
Jak sprawdzić, że działa
Nie poprzestawaj na teście wysyłki z wtyczki, bo sprawdza on wyłącznie samo połączenie z serwerem. Zrób trzy rzeczy.
- Wyślij wiadomość na skrzynkę u dużego dostawcy, na przykład Gmail, i sprawdź, czy trafia do odebranych, a nie do spamu.
- Otwórz szczegóły nagłówków otrzymanej wiadomości i sprawdź wyniki weryfikacji nadawcy.
- Wypełnij własny formularz kontaktowy jak zwykły użytkownik i odpowiedz na otrzymane zgłoszenie, żeby potwierdzić działanie adresu odpowiedzi.
Punkt trzeci wypada pominąć najłatwiej i właśnie on wyłapuje najwięcej realnych błędów konfiguracji.
Podsumowanie
Domyślna wysyłka z WordPressa jest wygodna dla programisty i nieprzewidywalna dla firmy. Konfiguracja SMTP w WordPressie to cztery kroki: załóż osobną skrzynkę, przestaw wysyłkę na SMTP z portem 587, dopilnuj zgodności adresu logowania z adresem nadawcy i ustaw adres odpowiedzi w formularzu. Całość zajmuje kilkanaście minut i kończy temat ginących zapytań.
W hostingu RapidDC konta e-mail są w pakiecie bez limitu liczby, panel DirectAdmin pozwala założyć skrzynkę w kilka chwil, a certyfikat Let’s Encrypt jest dołączony, więc połączenie szyfrowane działa od razu.
FAQ – najczęściej zadawane pytania o SMTP w WordPressie
Który port SMTP wybrać: 587 czy 465?
Domyślnie 587 ze STARTTLS, bo to obecny standard dla wysyłki uwierzytelnionej. Port 465 z SSL zadziała równie dobrze i bywa wygodniejszy tam, gdzie STARTTLS sprawia kłopoty. Portu 25 unikaj.
Czy mogę wysyłać przez skrzynkę Gmail?
Tak, ale wymaga to hasła aplikacji zamiast zwykłego hasła do konta, a przy darmowych kontach obowiązują dzienne limity wysyłki. Dla strony firmowej skrzynka we własnej domenie jest prostsza i bardziej przewidywalna.
Dlaczego maile wciąż trafiają do spamu mimo SMTP?
Najczęściej z powodu braku albo błędu w rekordach TXT potwierdzających uprawnienia do wysyłki. SMTP odpowiada za uwierzytelnienie przy nadawaniu, a rekordy w strefie DNS za wiarygodność domeny u odbiorcy.
Czy potrzebuję wtyczki, żeby korzystać z SMTP?
W praktyce tak, bo WordPress nie ma tej konfiguracji we wbudowanych ustawieniach. Alternatywą jest dopisanie ustawień w kodzie motywu potomnego, ale wtyczka jest prostsza w utrzymaniu i łatwiejsza do zdiagnozowania.
Co zrobić, gdy wtyczka zgłasza błąd uwierzytelnienia?
Sprawdź, czy jako nazwy użytkownika używasz pełnego adresu e-mail, a nie samej części przed małpą. To najczęstsza przyczyna. Drugą jest niezgodność adresu nadawcy z adresem skrzynki użytej do logowania.
Artykuł powstał z wykorzystaniem narzędzi sztucznej inteligencji (AI) pod nadzorem zespołu RapidDC. Grafika ilustracyjna została wygenerowana przez AI.
