Zamówienie złożone, płatność potwierdzona — ale klient nie dostał maila z potwierdzeniem. To jeden z najczęstszych i najbardziej kosztownych problemów w sklepach WooCommerce. Domyślna funkcja wp_mail() korzysta z serwera PHP na hostingu, który w większości przypadków jest blokowany przez filtry antyspamowe lub w ogóle nie jest skonfigurowany do wysyłki. W tym poradniku pokażemy Ci, jak skonfigurować SMTP WooCommerce od zera — dobierzesz właściwą wtyczkę, ustawisz poprawny port i naprawisz typowe błędy, które blokują Twoje maile transakcyjne.
Dlaczego domyślna wysyłka w WordPress nie działa?
WordPress wysyła e-maile przez funkcję PHP mail(), która nie uwierzytelnia się na żadnym serwerze pocztowym. Większość dostawców hostingu współdzielonego albo całkowicie wyłącza tę funkcję, albo wysyła przez lokalny serwer MTA (np. Sendmail), który nie ma dobrej reputacji IP. Efekt? Maile lądują w spamie lub nie docierają w ogóle.
WooCommerce generuje kilkanaście rodzajów e-maili transakcyjnych: potwierdzenie zamówienia, zmiana statusu, faktura, reset hasła, powiadomienie dla administratora. Każdy z nich przechodzi przez wp_mail() — jeśli ta funkcja zawodzi, cały sklep milczy. Rozwiązaniem jest podpięcie zewnętrznego serwera SMTP, który uwierzytelnia nadawcę i wysyła wiadomości z właściwym SPF, DKIM i DMARC.
Wybór wtyczki SMTP dla WooCommerce
Na rynku dostępnych jest kilka popularnych wtyczek do konfiguracji SMTP w WordPress. Różnią się funkcjami, sposobem przechowywania danych uwierzytelniających i wsparciem dla zewnętrznych providerów. Poniżej zestawienie czterech najczęściej używanych rozwiązań.
| Wtyczka | Wersja darmowa | Logi e-maili | Uwagi |
|---|---|---|---|
| WP Mail SMTP | Tak | Pro (płatna) | Najpopularniejsza, kreator konfiguracji |
| FluentSMTP | Tak (w pełni) | Tak (darmowe) | Logi i fallback w wersji free |
| Post SMTP | Tak | Tak (darmowe) | Diagnostyka błędów w panelu |
| Easy WP SMTP | Tak | Nie | Minimalistyczna, dla prostych konfiguracji |
Do sklepów WooCommerce z dużym wolumenem zamówień najlepiej sprawdza się FluentSMTP lub Post SMTP — obie oferują bezpłatne logowanie wiadomości, co pozwala zdiagnozować, czy mail w ogóle opuścił WordPress. WP Mail SMTP jest świetna dla tych, którzy cenią prosty kreator i integrację z popularnymi serwisami (Gmail, Outlook, SendGrid, Mailgun).
Konfiguracja SMTP WordPress krok po kroku
Poniższy przykład opisuje konfigurację z użyciem wtyczki WP Mail SMTP i zewnętrznego serwera SMTP (np. firmowej skrzynki na serwerze pocztowym). Schemat jest identyczny dla innych wtyczek — różnią się jedynie nazwy pól.
Krok 1 — Instalacja wtyczki
- Zaloguj się do panelu WordPress (wp-admin).
- Przejdź do Wtyczki → Dodaj nową i wyszukaj „WP Mail SMTP".
- Kliknij Zainstaluj, a następnie Aktywuj.
- Po aktywacji uruchom kreator konfiguracji (Setup Wizard) lub przejdź do WP Mail SMTP → Ustawienia.
Krok 2 — Wybór Mailera i dane SMTP
W sekcji Mailer wybierz opcję Inny SMTP (Other SMTP), jeśli chcesz użyć własnego serwera pocztowego. Następnie uzupełnij pola:
- Host SMTP — adres serwera, np.
mail.twojadomena.pllubsmtp.gmail.com - Port SMTP — patrz tabela portów poniżej
- Szyfrowanie — TLS (STARTTLS) lub SSL
- Uwierzytelnianie — włączone (Tak)
- Nazwa użytkownika — pełny adres e-mail, np.
sklep@twojadomena.pl - Hasło — hasło do skrzynki pocztowej
W polu From Email wpisz ten sam adres, co nazwa użytkownika SMTP — rozbieżność między nadawcą a kontem SMTP to jeden z najczęstszych powodów odrzucenia wiadomości przez serwery odbiorcze.
Krok 3 — Wybór portu SMTP
Port to jeden z najważniejszych parametrów konfiguracji. Zły port = brak połączenia. Oto zestawienie:
| Port | Szyfrowanie | Zastosowanie | Zalecany? |
|---|---|---|---|
| 25 | Brak / STARTTLS | Komunikacja między serwerami MTA | Nie (blokowany przez hostingi) |
| 465 | SSL/TLS | SMTPS — stary standard, nadal używany | Tak (jeśli serwer wymaga SSL) |
| 587 | STARTTLS | Submission — wysyłka przez klienta | Tak — preferowany |
| 2525 | STARTTLS | Alternatywa gdy 587 jest blokowany | Tak (fallback) |
WordPress SMTP port 587 z szyfrowaniem TLS to konfiguracja rekomendowana przez RFC 6409 i obsługiwana przez zdecydowaną większość serwerów pocztowych. Jeśli Twój hosting blokuje port 587, spróbuj portu 465 z SSL lub skontaktuj się z supportem hostingu.
Krok 4 — Test wysyłki
Po zapisaniu ustawień przejdź do zakładki WP Mail SMTP → Narzędzia → Test e-mail. Wpisz adres odbiorcy (najlepiej zewnętrzny, np. Gmail) i kliknij Wyślij. Jeśli test się powiedzie, zobaczysz zielony komunikat sukcesu — i wiadomość w skrzynce odbiorczej. Jeśli nie — plugin wyświetli szczegółowy błąd, który pomoże w diagnostyce.
Typowe błędy SMTP WooCommerce i jak je naprawić
Nawet przy poprawnej konfiguracji mogą pojawić się błędy. Oto lista najczęstszych problemów wraz z rozwiązaniami.
Błąd: „Could not authenticate" lub „535 Authentication failed"
Przyczyna: błędne hasło lub nazwa użytkownika. W przypadku Gmaila od maja 2022 roku konto Google wymaga hasła do aplikacji (App Password) — zwykłe hasło do konta nie zadziała, jeśli włączone jest uwierzytelnianie dwuskładnikowe. Wygeneruj hasło aplikacji w ustawieniach konta Google i użyj go zamiast standardowego hasła.
Błąd: „Connection timed out" lub „SMTP connect() failed"
Przyczyna: zły host, port lub firewall hostingu blokuje połączenie wychodzące. Sprawdź kolejno:
- Czy adres hosta SMTP jest poprawny (bez
http://). - Zmień port z 587 na 465 lub odwrotnie.
- Zapytaj hosting, czy blokuje porty 465/587 dla połączeń wychodzących.
- Rozważ użycie zewnętrznego relay SMTP (SendGrid, Brevo, Amazon SES).
Błąd: Maile trafiają do spamu
To nie jest błąd wtyczki — to problem z reputacją domeny lub brakiem rekordów DNS. Upewnij się, że dla Twojej domeny skonfigurowane są:
- SPF — rekord TXT w DNS wskazujący autoryzowane serwery wysyłki
- DKIM — podpis kryptograficzny wiadomości (konfigurowany po stronie serwera pocztowego)
- DMARC — polityka obsługi wiadomości, które nie przejdą SPF/DKIM
Brak SPF i DKIM to najczęstsza przyczyna lądowania w spamie, nawet gdy SMTP działa poprawnie. Możesz sprawdzić rekordy DNS bezpłatnymi narzędziami jak MXToolbox.
Błąd: WooCommerce maile nie działają mimo poprawnego SMTP
Jeśli test wtyczki działa, ale WooCommerce nadal nie wysyła maili, sprawdź:
- WooCommerce → Ustawienia → E-maile — czy poszczególne typy maili są włączone i mają poprawny adres odbiorcy.
- Czy inna wtyczka (np. do buforowania lub bezpieczeństwa) nie blokuje hooków
woocommerce_email. - Czy motyw lub wtyczka nie nadpisuje funkcji
wp_mail(). - Logi błędów WordPress (
wp-content/debug.log) — włącz tryb debugowania wwp-config.phpdodającdefine('WP_DEBUG', true); define('WP_DEBUG_LOG', true);.
Błąd: „SSL certificate problem" lub „SSL: no alternative certificate"
Przyczyna: serwer SMTP używa certyfikatu SSL, któremu WordPress nie ufa (np. certyfikat self-signed). Rozwiązanie: zmień port i typ szyfrowania (np. z SSL/465 na TLS/587). Jeśli problem nadal występuje, skontaktuj się z dostawcą serwera pocztowego — certyfikat powinien być wystawiony przez zaufane CA.
Własna skrzynka SMTP a zewnętrzny relay — co wybrać?
Małe sklepy (do ~500 maili transakcyjnych miesięcznie) spokojnie obsłuży firmowa skrzynka pocztowa na własnym hostingu lub u dostawcy poczty (nazwa.pl, home.pl, OVH). Przy większym wolumenie warto rozważyć dedykowany relay SMTP, który oferuje wyższą dostarczalność, szczegółowe statystyki i obsługę bounce'ów.
Jeśli zależy Ci na pełnej kontroli nad wysyłką — własnym IP, własnej domenie i braku limitów narzuconych przez zewnętrzne platformy — dobrym rozwiązaniem jest skonfigurowanie wysyłki przez własny serwer SMTP zintegrowany z narzędziem takim jak MailerPRO, które pozwala zarządzać wysyłką z własnych skrzynek bez pośredników. Szczególnie przydatne, gdy sklep obsługuje kilka marek lub domen jednocześnie.
Bezpieczeństwo danych uwierzytelniających SMTP
Hasło SMTP przechowywane w bazie danych WordPress (tabela wp_options) jest domyślnie zaszyfrowane przez wtyczki takie jak WP Mail SMTP czy FluentSMTP — ale tylko tak bezpieczne, jak bezpieczna jest sama baza. Stosuj się do kilku zasad:
- Używaj dedykowanego konta pocztowego wyłącznie do wysyłki (np.
noreply@sklep.pl) — nie konta administratora. - Ogranicz uprawnienia tego konta do minimum (tylko SMTP AUTH, bez IMAP/POP3 jeśli możliwe).
- Rozważ przeniesienie danych SMTP do pliku
wp-config.phpjako stałych PHP — WP Mail SMTP obsługuje tę opcję i eliminuje przechowywanie hasła w bazie danych. - Regularnie rotuj hasła do kont pocztowych używanych przez sklep.
Pamiętaj, że dane dostępowe do SMTP to dane osobowe w rozumieniu RODO tylko pośrednio — ale naruszenie bezpieczeństwa konta pocztowego sklepu może prowadzić do wycieku danych klientów (historia zamówień w treści maili), co jest już incydentem wymagającym zgłoszenia do UODO na podstawie art. 33 RODO w ciągu 72 godzin.
Podsumowanie — co zrobić teraz?
Konfiguracja SMTP WooCommerce to jednorazowa inwestycja 15–30 minut, która eliminuje jeden z najpoważniejszych problemów operacyjnych sklepu internetowego. Zainstaluj wtyczkę (FluentSMTP lub WP Mail SMTP), podaj dane serwera pocztowego, ustaw port 587 z TLS, przetestuj wysyłkę i sprawdź rekordy SPF/DKIM w DNS. Jeśli wolumen Twojego sklepu rośnie i zależy Ci na pełnej kontroli nad dostarczalnością, rozważ wysyłkę przez własny serwer SMTP — to rozwiązanie skalowalne, niezależne od limitów zewnętrznych platform i w pełni zgodne z polityką prywatności Twojego sklepu.
📨 Wypróbuj Mailer PRO
Wysyłaj mailing z własnych skrzynek SMTP — bez prowizji od liczby maili. Zachowujesz pełną kontrolę nad reputacją domeny.
Zobacz cennik Jak to działa


