/ Przyczyna
Dlaczego formularz przestaje wysyłać wiadomości
W WordPressie prawie zawsze chodzi o jedną z dwóch rzeczy — i żadna z nich nie jest usterką samego formularza ani wtyczki, w której go zrobiłeś.
Pierwsza: sposób wysyłki. WordPress domyślnie wysyła pocztę wbudowaną funkcją serwera, bez logowania do jakiejkolwiek skrzynki. Jest to rozwiązanie wygodne i dokładnie z tego powodu nadużywane do rozsyłania spamu — więc coraz więcej firm hostingowych je ogranicza albo wyłącza całkowicie. Wtedy formularz działa, przyjmuje zgłoszenie, wyświetla podziękowanie i nie wysyła nic.
Druga: adres nadawcy. Wiele formularzy jest ustawionych tak, że wysyłają wiadomość „od” osoby, która je wypełniła. Wygląda to wygodnie w skrzynce, ale z punktu widzenia serwera odbiorcy Twój serwer podaje się za cudzą domenę — a to jest dokładnie wzorzec, który współczesna poczta ma wykrywać i blokować. Ta przyczyna jest podstępniejsza, bo bywa wybiórcza: do jednego dostawcy maile dochodzą, do drugiego nie.
Ważne, żeby zrozumieć, dlaczego problem tak długo pozostaje niezauważony. Formularz nie wie, czy wiadomość dotarła. Wysyła ją i natychmiast pokazuje podziękowanie — bez względu na wynik. Z perspektywy odwiedzającego wszystko zadziałało, z Twojej po prostu nikt się nie odezwał.
/ Diagnoza
Co sprawdzić w pierwszej kolejności
Zanim zainstalujesz cokolwiek, trzy rzeczy zajmujące łącznie kilka minut. Kolejność ma znaczenie, bo każda kolejna jest droższa w czasie.
- Adres odbiorcy w ustawieniach formularza. Zaskakująco często to jest cała przyczyna: literówka, adres byłego pracownika albo skrzynka, która przekroczyła limit pojemności i odrzuca nowe wiadomości.
- Folder spamu na skrzynce docelowej. Jeśli wiadomości tam są, wysyłka działa i problemem jest wyłącznie uwierzytelnienie — przechodzisz od razu do sekcji o spamie.
- Wtyczki bezpieczeństwa i antyspamowe. Zabezpieczenie formularza potrafi odrzucać zgłoszenia po cichu, uznając je za automatyczne. Jeśli formularz przestał działać w okolicach instalacji nowej wtyczki, zacznij od tego.
Jeżeli żadna z tych trzech rzeczy niczego nie wyjaśnia, przyczyną jest sposób wysyłki i przechodzisz dalej.
/ Naprawa
Właściwa naprawa: wysyłka przez SMTP
SMTP to zwykły sposób wysyłania poczty — ten sam, którego używa program pocztowy na telefonie. Zamiast anonimowej funkcji serwera strona loguje się do prawdziwej skrzynki i wysyła wiadomość jako ona.
Zmienia to sytuację w dwóch miejscach naraz. Wiadomość przestaje zależeć od funkcji, którą hosting może wyłączyć, i zyskuje nadawcę, który naprawdę istnieje — a to poprawia dostarczalność niezależnie od pierwotnej przyczyny awarii.
Konfiguracja sprowadza się do wpisania w ustawieniach wtyczki tych samych danych, które wpisuje się w telefonie przy dodawaniu konta pocztowego: serwer wysyłania, port, rodzaj szyfrowania, nazwa użytkownika i hasło. Dane te podaje Twój dostawca hostingu lub poczty i to jest jedyne wiarygodne źródło — wartości przepisane z cudzego poradnika są najczęstszym powodem, dla którego konfiguracja nie działa.
Dwie rzeczy, które warto zrobić od razu
Po pierwsze: załóż osobne konto pocztowe wyłącznie dla strony, na przykład na potrzeby formularza, zamiast używać swojej głównej skrzynki. Jeśli hasło kiedyś wycieknie z witryny, tracisz konto techniczne, a nie całą korespondencję firmy. Po drugie: włącz w wtyczce dziennik wysłanych wiadomości. To jedyne miejsce, w którym później zobaczysz, czy wysyłka faktycznie się powiodła.
Którą wtyczkę SMTP wybrać
Wszystkie popularne wtyczki robią tu dokładnie to samo i każda ma bezpłatną wersję w pełni wystarczającą do formularza kontaktowego. Różnią się głównie tym, ile dokładają wokół:
| Wtyczka | Aktywne instalacje | Czym się wyróżnia |
|---|---|---|
| WP Mail SMTP | ponad 4 mln | Najpopularniejsza, kreator konfiguracji prowadzący krok po kroku. |
| FluentSMTP | ponad 600 tys. | Dziennik wysyłki i statystyki dostępne bez wersji płatnej. |
| Post SMTP | ponad 300 tys. | Powiadomienie o nieudanej wysyłce i ponawianie prób. |
Liczba instalacji ma tu praktyczne znaczenie, i to większe niż lista funkcji: przy wtyczce używanej przez miliony stron opis Twojego błędu prawie na pewno jest już gdzieś opisany razem z rozwiązaniem. Sprawdź natomiast datę ostatniej aktualizacji — wtyczka rozmawiająca z serwerami poczty przestaje działać, gdy te zmieniają zasady logowania.
/ Wybór
Skąd wysyłać: własna skrzynka czy usługa wysyłkowa
Po zainstalowaniu wtyczki trzeba wskazać, przez co ma wysyłać. Są dwie drogi i dla małej firmy odpowiedź jest zwykle oczywista, choć poradniki chętnie pchają w stronę droższą.
Zwykłe konto pocztowe w Twojej domenie — to konto, które najprawdopodobniej masz już w pakiecie hostingu. Nic nie kosztuje, konfiguruje się w kilka minut, a wiadomości wychodzą z domeny, do której masz pełne prawa. Przy formularzu kontaktowym generującym od kilku do kilkudziesięciu wiadomości dziennie to rozwiązanie w zupełności wystarcza i nie ma powodu szukać dalej.
Zewnętrzna usługa wysyłkowa — osobny dostawca wyspecjalizowany w dostarczaniu poczty. Daje statystyki dostarczalności, informację o odbiciach i wydzielone serwery wysyłkowe. Ma sens przy większej skali albo wtedy, gdy poczta z Twojej domeny ma już złą historię i trudno ją odbudować. Kosztuje, wymaga osobnego konta i dokłada kolejnego dostawcę do listy podmiotów, którym powierzasz dane.
Prosta reguła: zacznij od własnej skrzynki i przejdź na usługę wysyłkową dopiero wtedy, gdy pojawi się konkretny problem, którego skrzynka nie rozwiązuje. Odwrotna kolejność to płacenie abonamentu za problem, którego nie masz.
/ Pułapka
Błąd, który zostaje nawet po poprawnej naprawie
To jest sekcja, której brakuje w większości poradników na ten temat, a która odpowiada za sporą część przypadków „skonfigurowałem SMTP i dalej nie działa”.
Sprawdź, jaki adres nadawcy ustawia sam formularz. Jeśli w polu nadawcy widnieje adres osoby wypełniającej formularz, wiadomość wychodzi z Twojego serwera, ale podszywa się pod cudzą domenę. Nie masz prawa wysyłać poczty w imieniu domeny, której nie kontrolujesz, więc serwer odbiorcy może taką wiadomość odrzucić albo potraktować jako podejrzaną — i coraz częściej to robi.
Poprawne ustawienie wygląda tak:
| Pole | Co wpisać | Dlaczego |
|---|---|---|
| Nadawca (From) | Adres w Twojej domenie | To domena, dla której serwer ma prawo wysyłać. |
| Odpowiedź (Reply-To) | Adres klienta z formularza | Kliknięcie „Odpowiedz” nadal trafia do niego. |
| Temat | Nazwa firmy i rodzaj zgłoszenia | Łatwiej odszukać i mniej przypomina wysyłkę masową. |
Efekt dla Ciebie jest identyczny — odpowiadasz jednym kliknięciem — a wiadomość przestaje wyglądać na podszytą. Ta jedna zmiana rozwiązuje więcej przypadków niż jakakolwiek inna po skonfigurowaniu wysyłki.
/ Dostarczalność
Gdy maile dochodzą, ale trafiają do spamu
To już inny problem: wysyłka działa, brakuje natomiast potwierdzenia, że Twój serwer ma prawo wysyłać pocztę w imieniu Twojej domeny. Potwierdzenie to trzy wpisy w konfiguracji domeny, dodawane tam, gdzie zarządzasz domeną — nie w WordPressie.
- SPF — lista serwerów uprawnionych do wysyłania poczty z Twojej domeny.
- DKIM — podpis pozwalający odbiorcy sprawdzić, że wiadomość nie została zmieniona po drodze.
- DMARC — instrukcja, co odbiorca ma zrobić, gdy dwa poprzednie sprawdziany wypadną źle.
Nie trzeba rozumieć ich działania, żeby je poprawnie ustawić: dostawca poczty podaje gotowe wartości do wklejenia. Warto natomiast wiedzieć, że są ustawiane raz i chronią potem wszystko, co wychodzi z Twojej domeny — również zwykłą korespondencję, nie tylko formularz.
I jedna uwaga o testowaniu, bo tu najłatwiej się oszukać. Wysłanie testu na własną skrzynkę w tej samej domenie nie dowodzi niczego, bo taka poczta często dochodzi nawet wtedy, gdy wysyłka na zewnątrz jest zepsuta. Testuj na dwa adresy u różnych dostawców i zaglądaj do spamu.
/ Wniosek
Głębszy problem: mail jest jedynym śladem po zgłoszeniu
Załóżmy, że wszystko powyżej zrobione. Wysyłka działa, adres nadawcy poprawny, wpisy w domenie ustawione. Zostaje pytanie, które decyduje o tym, czy ta historia się powtórzy: skąd się dowiesz, kiedy to znowu przestanie działać?
Bo przestanie. Zmieni się hasło do skrzynki, hosting przeniesie stronę na inny serwer, wygaśnie certyfikat, wtyczka dostanie aktualizację. A formularz nadal będzie wyświetlał podziękowanie, bo on nigdy nie wiedział, czy wiadomość doszła.
Cisza w skrzynce jest sygnałem beznadziejnie słabym. Nikt nie zauważa braku maila, którego się nie spodziewał — a przy zapytaniach ofertowych nie da się przewidzieć, ile ich miało przyjść w danym tygodniu. Dlatego pierwsze pytanie po naprawie nie brzmi „czy działa”, tylko „gdzie jeszcze zapisuje się zgłoszenie”.
Rozwiązanie jest proste i tanie: drugie, niezależne miejsce zapisu. Może to być baza WordPressa — wiele wtyczek formularzy zapisuje tam zgłoszenia niezależnie od poczty — albo arkusz kalkulacyjny uzupełniany automatycznie. Wtedy poczta staje się powiadomieniem, a nie jedynym śladem, i tydzień bez nowego wiersza jest widocznym sygnałem, że coś się zepsuło.
Jest tu jedna pułapka warta sprawdzenia u siebie, zanim uznasz temat za zamknięty. Contact Form 7, czyli najczęściej spotykany formularz w polskim WordPressie, domyślnie nie zapisuje zgłoszeń nigdzie. Wysyła maila i na tym kończy swoją rolę — jeśli wiadomość nie dotrze, po zgłoszeniu nie zostaje żaden ślad, którego dałoby się szukać. Nie jest to usterka, tylko świadoma decyzja projektowa, ale w praktyce oznacza, że przy tym formularzu drugie miejsce zapisu nie jest udoskonaleniem, lecz warunkiem tego, żeby cokolwiek dało się odzyskać.
Sprawdzian zajmuje minutę: wyślij testowe zgłoszenie i zobacz, czy pojawia się gdziekolwiek w panelu WordPressa. Jeśli nie — poczta jest u Ciebie jedynym śladem i to jest pierwsza rzecz do zmiany, ważniejsza od dalszego dopieszczania wysyłki.
Rozpisałem trzy sposoby na taki zapis — wtyczkę, platformę automatyzacji i własny skrypt — razem z kosztami i tym, co się w nich psuje, w tekście o wyprowadzaniu zgłoszeń z formularza do Arkuszy Google. Jeśli w zgłoszeniach są dane osobowe klientów, warto też zajrzeć do obowiązków, które się z tym wiążą.
/ Podsumowanie
Checklista
- Adres odbiorcy w ustawieniach formularza jest aktualny i skrzynka nie jest przepełniona.
- Wysyłka idzie przez SMTP, z osobnego konta pocztowego założonego dla strony.
- Nadawca to adres w Twojej domenie; adres klienta siedzi w polu odpowiedzi.
- Domena ma ustawione SPF, DKIM i DMARC.
- Test wykonany na dwa adresy u różnych dostawców, ze sprawdzeniem spamu.
- Włączony dziennik wysyłki we wtyczce.
- Zgłoszenia zapisują się także poza pocztą.
Jeżeli wolisz mieć pewność, że nic nie ginie — od naprawy wysyłki po drugie miejsce zapisu — zajmuję się tym u klientów.