WordPress domyślnie wysyła e-maile za pośrednictwem funkcji PHP mail(), która bezpośrednio korzysta z serwera pocztowego (sendmail). W rezultacie wiadomości są wysyłane z adresu IP serwera hosta, a nie z Twojej domeny — szczególnie problemowe dla maili transakcyjnych. Gmail, WP.pl, Onet i inne duże providery bez prawidłowej ścieżki SPF/DKIM traktują takie wiadomości jako spam lub je całkowicie odrzucają.
WP Mail SMTP to wtyczka WordPress, która zmienia system wysyłki na zewnętrzny SMTP, szyfruje połączenie i umożliwia prawidłową konfigurację podpisu DKIM oraz rekordu SPF. Wynik: maile faktycznie docierają do klientów, a nie do folderu Spam.
Dlaczego domyślny mail() WordPress zawodzi
Funkcja mail() wysyła wiadomości bezpośrednio przez demonę sendmail na serwerze hostingowym. Dla odbiorcy wygląda to następująco: nadawca to losowy IP, domena przypisana <brak>, podpis DKIM <brak>. Innymi słowy — wszystkie flagi reputacyjne są czerwone.
- Brak autentykacji domeny: Filtr spamowy nie może zweryfikować, że faktycznie Ty wysyłasz z Twojej domeny. To otwarte zaproszenie dla spamers'ów.
- Polska specyfika: Polskie providery (WP.pl, Onet, Interia, o2.pl) są szczególnie rygorystyczne wobec nieznanych nadawców. Nawet jeden mail od nieznanego IP → spam lub całkowite odrzucenie.
- Wymagania Gmail i Outlook: Od lutego 2024 Google i Microsoft wymagają SPF i DKIM dla masowych wysyłek. Brak tych rekordów oznacza wątpliwą dostawę, zwłaszcza dla pierwszych maili z nowego serwera.
- Problemy z IP serwera: Serwer pocztowy hosta jest często mały, nieznany i wolno aktualizowany — łatwo trafia na listy bloków IP (blacklist).
Rezultat: klienci nigdy nie dostarczają e-maili potwierdzenia zamówienia, resetowania hasła czy powiadomień ze sklepu. Dla e-commerce i WordPress'ów z formularzami kontaktowymi to katastrofa.
Co to WP Mail SMTP i jak to rozwiązuje problem
WP Mail SMTP to darmowa wtyczka WordPress (z opcjonalną wersją Pro z raportami), która zastępuje PHP mail() zewnętrznym serwerem SMTP. Zamiast wysyłać z losowego IP serwera hosta, wysyłasz z infrastruktury SMTP (Gmail, Elastic Email, Brevo czy własny serwer).
- Wysyłka z Twojej domeny: Możesz ustawić
From:na własny adres (noreply@twojastrona.pl), co pokazuje odbiorcy, że to Ty wysyłasz. - DKIM i SPF: Wtyczka wspiera dodawanie podpisów DKIM, a Ty konfigurujesz DNS rekordy. Filtr zweryfikuje, że mail pochodzi od Ciebie, a nie od spamera podszywającego się pod Twoją domenę.
- Szyfrowanie: Połączenie SMTP jest zaszyfrowane (TLS/STARTTLS), dane logowania bezpieczne w bazie.
- Zmienne ścieżki wysyłki: Wsparcie dla wielu providerów SMTP (Gmail, Azure, SendGrid, itp.) oraz własnych serwerów SMTP.
Wynik: maile faktycznie docierają do Inbox (nie Spam), szczególnie dla dużych providerów i polskich serwisów pocztowych.
Instalacja i aktywacja wtyczki
Proces instalacji jest prosty i nie wymaga żadnego kodowania.
- Zaloguj się do panelu WordPress jako administrator.
- Przejdź do
Wtyczki→Dodaj nową. - W polu wyszukiwania wpisz WP Mail SMTP.
- Znajdź wtyczkę autorstwa WP Mail SMTP (oficjalna, z logo kopertki) i kliknij Zainstaluj teraz.
- Po instalacji kliknij Aktywuj.
- Przejdź do menu głównego → WP Mail SMTP (nowa pozycja w menu bocznym).
- Otwórz zakładkę Ustawienia.
Wtyczka jest domyślnie darmowa. Wersja Pro dodaje statystyki kliknięć, zaawansowaną diagnostykę i wsparcie VIP — dla większości WordPress'ów wersja darmowa wystarczy w zupełności.
Konfiguracja SMTP — wybór providera i dane połączenia
W panelu WP Mail SMTP musisz wybrać, z którego SMTP będziesz wysyłać. Dostępnych kilka opcji:
- Gmail (z OAuth2): Najprostsze dla małych serwisów. Wtyczka poprowadzi Cię przez autoryzację Google — nie musisz pamiętać haseł.
- Office 365 / Azure: Dla biznesu z e-mailem korporacyjnym.
- SendGrid, Brevo, Elastic Email: Popularne zewnętrzne SMTP dla masowych wysyłek. Każdy ma panel do zarządzania domeną i DKIM.
- Inny SMTP (custom): Jeśli posiadasz własny serwer pocztowy lub host oferuje SMTP — wpisz ręcznie dane połączenia.
Dla WordPress'ów z e-shopem lub formularzami o większym obciążeniu: Gmail pozwala około 500 maili dziennie. Jeśli wysyłasz więcej, wybierz SMTP od zewnętrznego providera (GetResponse, Brevo itp.) — oferują bardziej elastyczne limity bez blokad.
Jeśli wybierzesz Gmail: kliknij "Połącz z Gmalem", wtyczka przeniesie Cię do ekranu Google OAuth2. Zaloguj się kontem Gmail i dopuść dostęp — wtyczka otrzyma token do wysyłania e-maili bez przechowywania hasła.
Jeśli wybierzesz inny SMTP: wpisz następujące dane:
Host SMTP:na przykładsmtp.brevo.comlubmail.twojastrona.plPort:zwykle 587 (TLS) lub 465 (SSL). Zacznij od 587.Login:nazwa użytkownika lub pełny e-mailHasło:hasło do konta SMTPSzyfrowanie:wybierz TLSZwrotny adres e-mail (From):na przykładnoreply@twojastrona.pl
Po wpisaniu danych kliknij Prześlij wiadomość testową. Wtyczka spróbuje wysłać e-mail na Twój adres. Jeśli wiadomość dotrze — konfiguracja jest prawidłowa.
Konfiguracja SPF i DKIM w DNS domeny
To najważniejszy krok dla reputacji Twoich e-maili. SPF i DKIM to rekordy DNS, które mówią filtrom: "maile z tej domeny od tego IP / z tym podpisem są ode mnie i są godne zaufania".
SPF (Sender Policy Framework): Rekord TXT w DNS Twojej domeny, który wskazuje, które serwery SMTP mogą wysyłać maile z Twojej domeny. Bez niego każdy może podszywać się pod Twoją domenę.
Aby dodać SPF:
- Zaloguj się do panelu DNS Twojej domeny (hosting, GoDaddy, Cloudflare, itp.).
- Znajdź strefę DNS domeny
twojastrona.pl. - Dodaj nowy rekord TXT z następującymi wartościami:
Nazwa (subdomena):@ (oznacza domenę główną)Typ:TXTWartość:zależy od providera SMTP:- Dla Brevo:
v=spf1 include:brevo.net ~all - Dla SendGrid:
v=spf1 include:sendgrid.net ~all - Dla Gmail:
v=spf1 include:google.com ~all - Dla własnego SMTP:
v=spf1 ip4:XXX.XXX.XXX.XXX ~all(zastąp XXX IP serwera)
- Dla Brevo:
- Zapisz rekord.
DKIM (DomainKeys Identified Mail): Publiczny klucz cryptograficzny w DNS, który pozwala odbiorcy sprawdzić, że mail został faktycznie podpisany prywatnym kluczem Twojego serwera SMTP. Jest to dodatkowa warstwa weryfikacji, którą szczególnie doceniają polskie providery.
Aby dodać DKIM:
- W panelu providera SMTP (Brevo, SendGrid, itp.) zaloguj się i znajdź ustawienia domeny lub sekcję "Weryfikacja domeny".
- Provider poda Ci klucz publiczny DKIM — zazwyczaj długi ciąg znaków zaczynający się od
v=DKIM1. - Skopiuj całą wartość klucza.
- W panelu DNS dodaj nowy rekord TXT:
Nazwa:default._domainkey(lubselector._domainkey— zależy od providera; sprawdź w dokumentacji providera)Typ:TXTWartość:publiczny klucz DKIM, na przykładv=DKIM1; k=rsa; p=MIGfMA0GC...
- Zapisz rekord.
- Wróć do panelu SMTP providera i kliknij "Verify" lub "Potwierdź". Provider sprawdzi, czy rekord DNS jest prawidłowy.
Propagacja DNS: Po dodaniu rekordów może upłynąć 15 minut do 1 godziny, zanim DNS się rozpropaguje globalnie. Wtyczka będzie wysyłać maile zaraz, ale filtry mogą ciągle być sceptyczne do czasu pełnej propagacji.
Testowanie dostawy do Inbox
Po ustawieniu SMTP, SPF i DKIM możesz testować rzeczywistą dostawę do głównych providerów.
- W panelu WP Mail SMTP kliknij Prześlij wiadomość testową, wprowadź swój e-mail.
- Sprawdź Inbox oraz folder Spam w swoim e-mailu. Mail powinien być w Inbox (jeśli SPF/DKIM są prawidłowe).
- Dla głębszej analizy: prześlij e-mail na check.live-direct-marketing.online (bezpłatne narzędzie). Pokażemy Ci, gdzie Twoja wiadomość trafia w Gmailu, WP.pl, Onecie, Outlookiem i innych deckach — oraz czy SPF/DKIM/DMARC są prawidłowo skonfigurowane.
Jeśli mail ląduje w Spam pomimo prawidłowego SPF/DKIM:
- Czekaj propagacji DNS: Może upłynąć kolejna godzina. Testuj co 30 minut.
- Sprawdź zawartość maila: Jeśli zawiera zbyt wiele linków, obrazów lub flagowych słów kluczowych — może być automatycznie flagowany jako spam. Uprość treść.
- Zwiększaj reputę domeny: Wysyłaj maile do listy segmentowanej (którzy się zarejestrowali), aby uniknąć hard bounces i complaint rate. To buduje reputę domeny w oczach filtrów.
Najczęstsze problemy i rozwiązania
Problem: Błąd autentykacji — "SMTP Error: Could not authenticate"
- Sprawdź login i hasło w ustawieniach WP Mail SMTP — mogą zawierać znaki specjalne wymagające kodowania.
- Jeśli używasz Gmail: może być wymagane "App Password" (hasło dla aplikacji) zamiast zwykłego hasła Gmail. W Google Account → Security → App Passwords → wybierz Mail + Windows Computer → otrzymasz specjalne hasło do wpisania do wtyczki.
- Jeśli używasz innego SMTP: sprawdź w panelu providera, czy konto nie jest zablokowane. Niektóre providery blokują dostęp po kilku nieudanych próbach.
Problem: Błąd "Relay access denied"
- Zwykle oznacza, że serwer SMTP nie rozpoznaje Ciebie lub adresu zwrotnego (From).
- Sprawdź, czy adres zwrotny (From) należy do tego samego konta SMTP, z którego się łączysz.
- Spróbuj zmienić port: z 587 na 465 lub odwrotnie.
Problem: Maile wysyłają się, ale lądują w Spam
- Czekaj pełnej propagacji SPF/DKIM (do 1h).
- Sprawdź zawartość maila — unikaj słów kluczowych spamowych ("BEZPŁATNIE", "KLIKNIJ TERAZ!", zbyt wiele linków).
- Upewnij się, że domeny, do których prowadzą linki, nie są zablokowane. Polskie providery (WP.pl, Onet) są szczególnie rygorystyczne wobec ścieżek do podejrzanych stron.
- Jeśli nowa domena — zagrodzenie mailami. Wyślij kilka testowych e-maili do przyjaciół/kolegów, aby zbudować reputę, zanim zaczniesz wysyłać masowo do bazy.
Problem: Timeout przy wysyłce — "Failed to connect"
- Serwer hosta może blokować dany port. Spróbuj zmienić port: 587 (TLS) → 465 (SSL) → 25 (brak szyfrowania — rzadko stosowany).
- Kontaktuj się z hostingiem — mogą blokować SMTP dla zapobieżeniu rozprzestrzenianiu się spama.
Czy WP Mail SMTP przechowuje moje hasło SMTP?
Wtyczka przechowuje dane w bazie WordPress, zaszyfrowane. Dla Gmaila używa OAuth2 (nie hasło bezpośrednio — token). Dla innego SMTP — hasło jest zaszyfrowane, ale teoretycznie administrator WordPress może je odczytać. Jeśli dbasz o bezpieczeństwo, użyj specjalnego konta SMTP z ograniczonymi uprawnieniami (tylko wysyłanie e-maili), nie głównego konta domeny.
Po ile czasu maile będą dochodziła prawidłowo?
Tuż po aktywacji — jeśli SPF/DKIM są prawidłowe i propagowały się (30 minut do 1 godziny). Polskie providery (WP.pl, Onet) mogą ciągle być sceptyczne przez 24-48 godzin dla zupełnie nowych domen. Jeśli to ważne e-maile transakcyjne, testuj od razu po konfiguracji za pomocą narzędzia check.live-direct-marketing.online.
Jaki SMTP wybrać dla e-shopów i dużych baz kontaktów?
Dla małych e-shopów (kilka zamówień dziennie): Gmail wystarczy. Dla średnich (100+ e-maili dziennie) lub kampanii marketingowych: GetResponse, Brevo, SendGrid. Polskie ESPy takie jak GetResponse (biuro w Gdańsku) mogą mieć lepsze relacje z lokalnymi providerami (WP.pl, Onet), ale różnica jest minimalna — ważniejsze jest prawidłowe SPF/DKIM i budowanie reputacji domeny.