Komunikat „wysłano” może oznaczać tylko przyjęcie wiadomości przez aplikację. Sprawdź log SMTP, używaj domenowego adresu From i umieszczaj e-mail klienta w Reply-To.
Zacznij od kontrolowanego testu
Wyślij wiadomość z unikalnym tematem i zanotuj godzinę, adres odbiorcy oraz wynik formularza. Sprawdź spam i kwarantannę. Wykonaj test na dwóch niezależnych skrzynkach. Jeżeli problem występuje tylko u jednego operatora, istotne będą wyniki uwierzytelniania i odpowiedź jego serwera.
Nie testuj dziesiątkami identycznych wiadomości. Możesz uruchomić ograniczenia antyspamowe i utrudnić diagnozę. Nie podawaj w testowym formularzu prawdziwych danych klientów, jeżeli logowanie diagnostyczne zapisuje całą treść.
Uporządkuj dane nadawcy
Pole From powinno używać kontrolowanego adresu Twojej domeny, zgodnego z konfiguracją wysyłki. Adres wpisany przez klienta umieść w Reply-To. Podszywanie się przez From pod gmail.com lub inną cudzą domenę może powodować problemy z polityką uwierzytelniania.
Skonfiguruj SPF, DKIM i DMARC dla rzeczywistej usługi wysyłającej. Nie dodawaj rekordów na podstawie przykładu z przypadkowego bloga. Jeżeli WordPress korzysta z zewnętrznego SMTP, konfiguracja DNS musi uwzględniać ten system, nie tylko lokalny serwer hostingu.
SMTP: host, port i szyfrowanie muszą do siebie pasować
Użyj danych operatora poczty. Typowe porty to 587 dla połączenia z STARTTLS albo 465 dla TLS od początku, ale decyduje instrukcja konkretnej usługi. Nie wyłączaj weryfikacji certyfikatu, aby ukryć problem nazwy hosta. Sprawdź nazwę użytkownika, metodę uwierzytelniania i możliwość wysyłki z wybranego From.
Hasło lub token przechowuj w mechanizmie konfiguracji aplikacji. Nie wklejaj go do publicznego repozytorium ani zgłoszenia pomocy. Jeśli token wyciekł, unieważnij go i wygeneruj nowy. Błąd połączenia może też wynikać z blokady portów wychodzących na hostingu.
Jak czytać wynik?
| Objaw | Najbliższy krok |
|---|---|
| Connection refused lub timeout | Host, port, firewall i łączność wychodząca. |
| Authentication failed | Dane konta i dopuszczona metoda logowania. |
| Odrzucony nadawca | Zgodność From z kontem i polityką operatora. |
| SMTP przyjął, odbiorca nie widzi | Log dostarczenia, spam, reputacja i uwierzytelnienie. |
| Formularz milczy przed wysyłką | Walidacja, JavaScript, endpoint i log PHP. |
Kod przyjęcia przez pierwszy serwer nie dowodzi dostarczenia do skrzynki docelowej. Szukaj dalszego wyniku lub wiadomości zwrotnej. Jeśli usługa daje identyfikator maila, zachowaj go do zgłoszenia.
Nie zapomnij o nadużyciach
Publiczny formularz powinien mieć walidację, ograniczenie częstotliwości i ochronę przed automatyzacją dostosowaną do strony. CAPTCHA sama nie rozwiązuje każdej drogi wysyłki. Nie pozwalaj użytkownikowi dowolnie zmieniać odbiorcy ani nagłówków. To formularz kontaktowy, nie otwarty przekaźnik poczty.
Jeżeli strona działa na hostingu Castpol, przekaż obsłudze godzinę próby i zanonimizowany komunikat SMTP. Po naprawie sprawdź także realne działanie Reply-To — otrzymanie maila nie wystarczy, jeśli odpowiedź wraca na niewłaściwy adres.
Źródła i dokumentacja
Dokumentacja do dalszej weryfikacji ustawień i wymagań swojej wersji.