Skip to content

Wszystko o WordPressie, tworzeniu stron — i nie tylko

📧 Jak zainstalować i skonfigurować SMTP w WordPress: poradnik krok po kroku

📧 Jak zainstalować i skonfigurować SMTP w WordPress: poradnik krok po kroku

Czy e-maile z witryny nie docierają do użytkowników? Adresaci skarżą się, że powiadomienia o zamówieniu lub odzyskiwaniu hasła trafiły do spamu? Z tym problemem spotyka się niemal każdy właściciel witryny WordPress w pierwszych miesiącach po uruchomieniu.

Przyczyną jest domyślny sposób wysyłania wiadomości. WordPress korzysta z wbudowanej funkcji mail() języka PHP, a większość dostawców hostingu nie konfiguruje jej prawidłowo. E-maile wychodzą z nieprawidłowymi nagłówkami, bez podpisu DKIM, a serwisy pocztowe takie jak Gmail czy Mail.ru przenoszą je po prostu do folderu „Spam". Co gorsza, część wiadomości po prostu ginie, a Państwo nawet się o tym nie dowiadują.

Właściwym rozwiązaniem jest SMTP. Konfiguruje się raz, a e-maile z witryny zaczynają docierać stabilnie. Przedstawiam dwa sposoby: prosty (przez wtyczkę) i ręczny (przez kod), aby mogli Państwo wybrać odpowiedni do swojej sytuacji.

💡 Szybki przegląd:

  • Dowiedzą się Państwo, dlaczego poczta PHP w WordPress jest zawodna i jak SMTP rozwiązuje problem dostarczalności
  • Skonfigurują Państwo wysyłkę przez wtyczkę Easy WP SMTP w 5 minut, bez edytowania kodu
  • Opanują Państwo metodę ręczną przez wp-config.php dla tych, którzy wolą obyć się bez dodatkowych wtyczek
  • Sprawdzą Państwo działanie SMTP testowym e-mailem i dowiedzą się, na co zwrócić uwagę przy wyborze dostawcy poczty

Czym jest SMTP i dlaczego Państwa witryna traci e-maile

SMTP to skrót od Simple Mail Transfer Protocol. Mówiąc najprościej, jest to dedykowany protokół do wysyłania poczty elektronicznej, który działa inaczej niż mail() PHP.

Gdy WordPress wysyła e-mail przez standardową funkcję, po prostu „zrzuca" go do systemu operacyjnego serwera. Dalej, zależnie od szczęścia: wiadomość może wyjść z hosta bez rekordu SPF, bez DKIM, z cudzym adresem From. Serwis pocztowy odbiorcy widzi podejrzaną wiadomość i wysyła ją do spamu. Albo po prostu odrzuca, a Państwo nie otrzymują żadnego powiadomienia o błędzie.

Serwer SMTP natomiast nawiązuje bezpośrednie połączenie z serwisem pocztowym adresata. Autoryzuje się, przekazuje podpis DKIM Państwa domeny i gwarantuje, że nagłówki wiadomości są poprawne. Rezultat: Państwa e-maile trafiają do „Odebranych", a nie do spamu.

Dodatkowy plus to logowanie. Większość wtyczek SMTP dla WordPress prowadzi dziennik wysłanych wiadomości: widzą Państwo, co poszło, do kogo i kiedy. Jeśli e-mail nie został dostarczony, wiedzą Państwo o tym od razu, a nie po tygodniu od klienta.

Sposób 1: Instalacja SMTP przez wtyczkę Easy WP SMTP

Najprostszy i najbardziej niezawodny sposób dla zdecydowanej większości witryn to zainstalowanie wtyczki. Polecam Easy WP SMTP: ponad pół miliona aktywnych instalacji na WordPress.org, ocena 4,6 na 5 i stabilne aktualizacje. Wtyczka jest bezpłatna i obsługuje nie tylko dowolny zewnętrzny serwer SMTP, ale także bezpośrednie integracje z Gmail, Outlook, Brevo, SendGrid, Mailgun i SendLayer, można połączyć się przez API bez podawania portów i szyfrowania.

Wyszukiwanie i instalacja wtyczki Easy WP SMTP w panelu WordPress

Krok 1. Proszę zainstalować wtyczkę. Proszę wejść do panelu administracyjnego WordPress: Wtyczki → Dodaj nową. W pasku wyszukiwania proszę wpisać „Easy WP SMTP". Proszę kliknąć „Zainstaluj", a następnie „Aktywuj".

Krok 2. Proszę przejść do ustawień. W bocznym menu panelu administracyjnego pojawi się pozycja Easy WP SMTP. Proszę ją otworzyć, trafią Państwo na zakładkę „Ogólne" (General).

Krok 3. Proszę wypełnić dane serwera SMTP. Oto co należy wprowadzić:

Konfiguracja nadawcy i serwera poczty we wtyczce Easy WP SMTP
  • From Email Address, adres, z którego będą wychodzić e-maile. Proszę użyć tego samego adresu e-mail, który jest podany w ustawieniach WordPress (sekcja Ustawienia → Ogólne). Większość hosterów blokuje wysyłanie z cudzych adresów, prościej nie ryzykować.

  • From Name, nazwa nadawcy, którą zobaczą odbiorcy. Zazwyczaj jest to nazwa witryny, na przykład „SiteName Support".

  • Mailer, proszę wybrać „Other SMTP", jeśli podłączają Państwo skrzynkę pocztową swojej domeny lub hostingu. Jeśli korzystają Państwo z Gmail / Outlook / Brevo / SendGrid, proszę wybrać odpowiednią pozycję, wtyczka przeprowadzi Państwa przez autoryzację OAuth bez ręcznego wprowadzania parametrów.

Ustawienia hosta SMTP, szyfrowania i portu w Easy WP SMTP

Dla opcji „Other SMTP" proszę wypełnić:

  • SMTP Host, adres Państwa serwera pocztowego. Dla hostingu jest to zazwyczaj mail.ваш-домен.com. Dla zewnętrznych serwisów dostawca podaje hosta przy tworzeniu skrzynki.

  • Encryption, proszę wybrać SSL (port 465) lub TLS (port 587). Współczesne serwery preferują TLS na porcie 587, ale proszę to potwierdzić u swojego dostawcy poczty.

  • SMTP Port, 465 dla SSL, 587 dla TLS. To wartości standardowe, ale hoster może używać niestandardowego portu, proszę sprawdzić w jego dokumentacji.

  • Authentication, proszę włączyć przełącznik „Yes". Bez uwierzytelnienia SMTP nie będzie działać.

  • SMTP Username i SMTP Password, login i hasło do Państwa skrzynki pocztowej. Zazwyczaj login jest tożsamy z pełnym adresem e-mail.

Krok 4. Proszę wysłać testowego e-maila. Proszę przewinąć stronę do sekcji „Test Email". W polu „Send To" proszę wpisać adres, do którego mają Państwo dostęp (może być własny). Pola „Subject" i „Message" proszę wypełnić dowolnie, na przykład „SMTP Test" i „Sprawdzenie wysyłki". Proszę kliknąć „Send Test Email".

Jeśli wszystko jest skonfigurowane poprawnie, na górze ekranu pojawi się zielone powiadomienie o pomyślnym wysłaniu. E-mail przyjdzie na wskazany adres w ciągu kilku sekund. Jeśli nie przyszedł, proszę sprawdzić folder „Spam"; jeśli i tam go nie ma, proszę jeszcze raz sprawdzić parametry hosta, portu i hasła.

Krok 5. Proszę włączyć logowanie. W podmenu Easy WP SMTP proszę otworzyć zakładkę „Email Log" i aktywować zapisywanie logów. Teraz każdy wysłany e-mail będzie zapisywany w dzienniku z datą, odbiorcą i statusem. Jeśli za miesiąc klient powie „nie otrzymałem e-maila z kodem", otworzą Państwo log i zobaczą: e-mail poszedł i został dostarczony, problem leży po stronie klienta.

Sposób 2: Ręczna konfiguracja SMTP przez wp-config.php

Ta metoda jest dla tych, którzy zasadniczo nie chcą instalować wtyczki dla jednej funkcji. Minus jest oczywisty: nie będzie żadnego interfejsu, logowania i testowania z panelu administracyjnego. Wszystkie zmiany tylko przez edycję plików.

Ważne: przed edycją wp-config.php koniecznie proszę zrobić kopię zapasową witryny. Błąd w tym pliku spowoduje „biały ekran śmierci", a przywrócenie dostępu będzie możliwe tylko przez FTP lub menedżera plików hostingu.

Krok 1: Proszę dodać stałe SMTP w wp-config.php

Proszę połączyć się z serwerem przez FTP lub przez menedżera plików hostingu. Proszę znaleźć plik wp-config.php w katalogu głównym witryny i dodać następujący kod PRZED linią /* That's all, stop editing! Happy publishing. */:

1// SMTP-конфигурация для отправки почты WordPress
2define( 'SMTP_HOST', 'mail.ваш-домен.com' ); // Адрес SMTP-сервера
3define( 'SMTP_AUTH', true ); // Включить аутентификацию
4define( 'SMTP_PORT', '587' ); // Порт: 587 (TLS) или 465 (SSL)
5define( 'SMTP_SECURE', 'tls' ); // Шифрование: tls или ssl
6define( 'SMTP_USERNAME', 'user@ваш-домен.com' ); // Логин почтового ящика
7define( 'SMTP_PASSWORD', 'ваш-пароль' ); // Пароль
8define( 'SMTP_FROM', 'user@ваш-домен.com' ); // Адрес отправителя
9define( 'SMTP_FROMNAME', 'SiteName Support' ); // Имя отправителя

Proszę zastąpić dane własnymi: host, port, login, hasło. Jeśli dostawca poczty używa SSL na porcie 465, proszę zmienić SMTP_PORT na '465', a SMTP_SECURE na 'ssl'.

Krok 2: Proszę podłączyć stałe do PHPMailer

Same stałe w wp-config.php nic nie robią, WordPress nie wie, co z nimi zrobić. Należy przekazać je do obiektu PHPMailer przez hook phpmailer_init. Proszę dodać ten kod do pliku functions.php swojego motywu potomnego lub przez wtyczkę Code Snippets (polecam, nie zginie przy aktualizacji motywu):

1/**
2 * Настройка SMTP через константы из wp-config.php
3 */
4add_action( 'phpmailer_init', 'sdstudio_smtp_configure' );
5function sdstudio_smtp_configure( $phpmailer ) {
6 $phpmailer->isSMTP();
7 $phpmailer->Host = SMTP_HOST;
8 $phpmailer->SMTPAuth = SMTP_AUTH;
9 $phpmailer->Port = SMTP_PORT;
10 $phpmailer->SMTPSecure = SMTP_SECURE;
11 $phpmailer->Username = SMTP_USERNAME;
12 $phpmailer->Password = SMTP_PASSWORD;
13 $phpmailer->From = SMTP_FROM;
14 $phpmailer->FromName = SMTP_FROMNAME;
15}

Co tu się dzieje: WordPress wywołuje hook phpmailer_init przed każdym wysłaniem e-maila i przekazuje do niego instancję klasy PHPMailer. Funkcja sdstudio_smtp_configure konfiguruje ten obiekt wartościami ze stałych i e-mail idzie przez SMTP, a nie przez mail() PHP.

Jeśli korzystają Państwo ze skrzynki pocztowej na swojej domenie (na przykład admin@ваш-сайт.com, utworzonej w cPanel hostingu), dane do hosta SMTP proszę pobrać z panelu sterowania hostingiem. Zazwyczaj jest tam sekcja „Połączenie z pocztą" lub „Email Accounts", gdzie dla każdej skrzynki podane są host, port i ustawienia szyfrowania.

Krok 3: Proszę sprawdzić wysyłanie

Najprostszy sposób sprawdzenia to zainicjowanie wysłania systemowego e-maila WordPress. Na przykład proszę zażądać resetowania hasła przez formularz logowania (/wp-login.php → „Nie pamiętasz hasła?"). Jeśli e-mail przyszedł, SMTP działa.

Jeśli chcą Państwo dokładniejszy test, proszę tymczasowo dodać ten kod w functions.php (po sprawdzeniu proszę usunąć):

1add_action( 'init', function() {
2 wp_mail( '[email protected]', 'SMTP Test', 'Сообщение отправлено через SMTP!' );
3} );

Proszę odświeżyć dowolną stronę witryny, na Państwa adres zostanie wysłany testowy e-mail. Proszę nie zapomnieć usunąć kodu po sprawdzeniu, w przeciwnym razie e-mail będzie wysyłany przy każdym odświeżeniu strony.

Sposób 3: Alternatywne wtyczki SMTP

Easy WP SMTP nie jest jedyną opcją. Jeśli z jakiegoś powodu nie pasuje, oto trzy sprawdzone bezpłatne wtyczki z aktywną bazą instalacji od 200 000 witryn:

  • WP Mail SMTP, najpopularniejsza wtyczka SMTP w repozytorium WordPress (3 mln+ instalacji). Darmowa wersja podłącza dowolny serwer SMTP. Płatna dodaje integracje z SendLayer, Amazon SES, Microsoft 365 i Zoho Mail, a także szczegółowe logi i raporty o błędach.

  • Post SMTP, całkowicie darmowa, z otwartym kodem źródłowym. Potrafi wysyłać e-maile przez SMTP, Gmail API, Microsoft 365 API, SendGrid, Mailgun, Brevo. Wbudowany Email Log z filtrowaniem i ponownym wysyłaniem. Dobry wybór, jeśli potrzebne jest maksimum możliwości bez opłat.

  • FluentSMTP, minimalistyczna i szybka wtyczka od twórców FluentCRM. Obsługuje Amazon SES, Mailgun, SendGrid, SparkPost, Elastic Email i dowolny serwer SMTP. Interfejs jest prostszy niż u konkurencji, a wtyczka praktycznie nie obciąża panelu administracyjnego.

Wszystkie trzy opcje mają ocenę 4,5+ i są regularnie aktualizowane. Zasada konfiguracji wszędzie jest taka sama: instalują Państwo wtyczkę → wprowadzają dane serwera pocztowego → wysyłają testowego e-maila → włączają logowanie.

W przeciwieństwie do metody ręcznej przez wp-config.php, każda z tych wtyczek daje co najmniej dziennik wysłanych e-maili i możliwość przetestowania połączenia z panelu administracyjnego. Dla witryny, która wysyła więcej niż kilka e-maili tygodniowo, funkcje te szybko stają się koniecznością, a nie tylko wygodą.

Testowanie SMTP: jak upewnić się, że wszystko działa

Skonfigurowali Państwo wtyczkę lub kod, proszę sprawdzić rezultat. Oto checklista z trzech punktów, która zamyka wszystkie możliwe problemy:

1. Testowy e-mail z wtyczki. Jeśli korzystali Państwo z Easy WP SMTP, proszę wysłać test przez wbudowaną funkcję (zakładka „Test Email"). E-mail poszedł i przyszedł do „Odebranych", świetnie. Przyszedł do „Spamu", proszę sprawdzić, czy w „From Email Address" podany jest rzeczywisty adres w Państwa domenie (nie @gmail.com, jeśli witryna jest na ваш-домен.com).

2. Sprawdzenie nagłówków e-maila. Proszę otworzyć otrzymany testowy e-mail i zobaczyć „oryginał" / „kod źródłowy" wiadomości (w Gmail: trzy kropki → „Pokaż oryginał"). Proszę znaleźć linie SPF, DKIM i DMARC. Przynajmniej SPF: PASS musi być. Jeśli wszystkie trzy pokazują PASS, Państwa dostarczalność jest maksymalna.

3. Sprawdzenie przez formularz na witrynie. Proszę przejść scenariusz użytkownika: wypełnić formularz kontaktowy, zażądać resetowania hasła, złożyć testowe zamówienie w WooCommerce. Każda z tych czynności powinna wygenerować e-mail, proszę upewnić się, że wszystkie przychodzą. Jeśli jakiś e-mail nie poszedł, najprawdopodobniej konkretna wtyczka (Forms / WooCommerce) używa własnego sposobu wysyłania z pominięciem ogólnego SMTP. To rzadkość, ale proszę sprawdzić ustawienia takiej wtyczki, zazwyczaj jest tam opcja „Use WordPress mail" lub wybór dostawcy poczty.

Jeśli wolą Państwo format wideo, w tym tutorialu pokazano pełną konfigurację SMTP przez wtyczkę WP Mail SMTP od zera do pierwszego wysłanego e-maila. Zasada jest taka sama dla każdej z omówionych wtyczek.

⁉️🤔 Często zadawane pytania

Dlaczego e-maile z mojej witryny wychodzą, ale trafiają do spamu?

Główna przyczyna to brak rekordów DKIM i SPF w domenie. Funkcja PHP mail() nie podpisuje e-maili, a serwisy pocztowe widzą „anonimową" wysyłkę. Wtyczka SMTP wysyła e-maile w imieniu Państwa serwera pocztowego, który ma te rekordy już skonfigurowane. Większość hostingów dodaje podstawowy rekord SPF automatycznie przez cPanel, DKIM i DMARC konfiguruje się ręcznie w panelu DNS w 10 minut.

Jaki port SMTP wybrać: 465 czy 587?

Port 587 z szyfrowaniem TLS to współczesny standard IETF. Port 465 z SSL jest przestarzały, ale szeroko wspierany. Jeśli dostawca akceptuje oba, proszę wybrać 587/TLS. Jeśli nie działa, proszę spróbować 465/SSL. W praktyce większość hostingów współdzielonych w 2026 roku działa z oboma portami, VPS częściej wymagają 587/TLS. Błąd połączenia po konfiguracji, w pierwszej kolejności proszę przełączyć port i szyfrowanie.

Czy można używać bezpłatnego Gmaila do wysyłania e-maili z witryny?

Tak, ale z ograniczeniem: 500 e-maili dziennie dla kont osobistych i do 2 000 dla Google Workspace. Dla sklepów i witryn członkowskich bardziej niezawodne są serwisy transakcyjne: Brevo (300 e-maili/dzień za darmo), SendGrid (100/dzień), Mailgun lub Amazon SES. Podłączyć Gmaila najprościej przez Easy WP SMTP: wybierają Państwo mailer „Gmail" i przechodzą autoryzację OAuth w parę kliknięć.

Czy potrzebna jest wtyczka SMTP, jeśli hosting już skonfigurował pocztę?

Serwer pocztowy hostingu i wysyłanie z WordPress to dwa różne ogniwa. Hosting odbiera pocztę dla domeny, ale WordPress nadal wysyła przez mail() PHP bez autoryzacji. Rezultat jest ten sam: spam lub utrata e-maili. Wtyczka SMTP zmusza WordPress do prawidłowego korzystania z serwera pocztowego. Prosty test: proszę otworzyć „oryginał" e-maila z witryny i znaleźć X-Mailer. Jeśli jest tam PHPMailer bez SMTP, wtyczka jest niezbędna.

Wtyczka pokazuje błąd „SMTP Error: Could not authenticate", co robić?

Trzy częste przyczyny. Pierwsza: hasło zawiera znaki specjalne (krzyżyk, dolar, ampersand), które wtyczka nieprawidłowo eskapuje, proszę zmienić na alfanumeryczne. Druga: hosting wymaga innego portu, proszę przełączyć 587↔465 i TLS↔SSL. Trzecia: dostawca blokuje wychodzący ruch SMTP na taryfie ogólnej, proszę to wyjaśnić z pomocą techniczną. Jeśli nic nie pomaga, proszę przełączyć się na integrację API: na przykład Gmail API przez OAuth jest bardziej niezawodny niż uwierzytelnianie hasłem.

Który sposób konfiguracji SMTP wybrać dla swojej witryny

Odpowiedź zależy od trzech czynników: wolumenu e-maili, komfortu technicznego i budżetu.

Jeśli witryna wysyła do 100 e-maili dziennie, proszę zainstalować Easy WP SMTP, podłączyć dowolną skrzynkę pocztową i zamknąć temat w 5 minut. Darmowy plan Brevo przez integrację API tej samej wtyczki daje 300 e-maili dziennie całkowicie bez konfiguracji portów SMTP, po prostu rejestrują się Państwo, otrzymują klucz API, wklejają do wtyczki, gotowe.

Jeśli witryna to sklep na WooCommerce z 500+ zamówieniami miesięcznie, proszę podłączyć serwis transakcyjny: Mailgun, SendGrid lub Amazon SES. Są one przystosowane do masowej wysyłki e-maili transakcyjnych i dają szczegółową analitykę dla każdego e-maila (dostarczono / otwarto / kliknięto). Easy WP SMTP obsługuje wszystkie trzy przez API bez kłopotu z portami.

Jeśli jest Pan/Pani deweloperem i nie chce dodatkowych wtyczek, metoda ręczna przez wp-config.php działa, ale proszę pamiętać: bez logowania jest Pan/Pani ślepy. Proszę dodać przynajmniej prosty plik logu przez hook wp_mail_failed lub zainstalować FluentSMTP, jest on praktycznie niewyczuwalny i daje pełnowartościowy dziennik e-maili.

Najważniejsze, proszę nie zostawiać WordPress na standardowej poczcie PHP. Pięć minut na instalację wtyczki SMTP uchroni Państwa przed utraconymi zamówieniami, przeoczonymi zgłoszeniami do pomocy technicznej i problemami reputacyjnymi z domeną, którą serwisy pocztowe oznaczyły jako źródło spamu.