Jak skonfigurować SMTP w WordPress?

Domyślnie WordPress używa funkcji PHP mail() aby wysyłać wiadomości e-mail z serwera na którym jest zainstalowany – nie jest to idealny sposób w przypadku jeśli posiadamy np. WooCommerce. Jeśli wiadomości z WordPress nie dochodzą do użytkowników lub lądują w folderze SPAM możesz ustawić wysyłanie e-mail przez SMTP aby wiadomości e-mail były wysyłane przez dedykowane konto pocztowe. Z tego poradnika dowiesz się jak skonfigurować SMTP w WordPress.
Dzięki autoryzowanemu połączeniu SMTP z dedykowanym kontem pocztowym e-mail otrzymasz jeszcze większą szansę że Twoje wiadomości transakcyjne czy te wysyłane do Twoich użytkowników jak przypomnienie hasła czy linki aktywacyjne zostaną prawidłowo wysłane przez WordPress. Jak ustawić SMTP w WordPress? – Najłatwiej skorzystać z wtyczki Easy WP SMTP.
Instalacja wtyczki Easy WP SMTP.
W naszym Kokpicie WordPress przechodzimy do [1] Wtyczki->Dodaj nową, następnie [2] w wyszukiwarce wklejamy nazwę Easy WP SMTP
. Klikamy w przycisk [3] Zainstaluj, a następnie ponownie w przycisk Włącz, w tym samym miejscu.

Wtyczka jest już aktywna i działa lecz aby WordPress mógł korzystać z naszego konta e-mail do wysyłania wiadomości e-mail poprzez SMTP musimy teraz podać dane konfiguracyjne dostępu do skrzynki e-mail tak aby WordPress mógł się z nią połączyć.
Konfiguracja SMTP w WordPress.
Po włączeniu wtyczki Easy WP SMTP przechodzimy do naszego menu WordPress i wybieramy Ustawienia->Easy WP SMTP. Tu podamy nasze dane dostępowe do skrzynki pocztowej, której chcemy aby nasz WordPress używał do wysyłania wiadomości e-mail.
Nie masz jeszcze konta pocztowego? Sprawdź nasz poradnik Jak dodać nowe konto pocztowe czyli adres e-mail? | Wiki HitMe.pl
Teraz przygotujmy sobie takie dane jak:
- adres konta e-mail
- hasło do konta e-mail ( ********* )
- host poczty ( np. mx1.hitme.net.pl )
- port poczty ( np. 465 )
Opcje Easy WP SMTP:
Teraz w zakładce [SMTP Settings] wtyczki uzupełniamy pola:
- From Email Address: tu podajemy adres konta e-mail
- From Name: tu podajemy np. nasze imię
- SMTP Host: tu podajemy host serwera poczty, w przypadku MegaPoczty w HitMe będzie to
mx1.hitme.net.pl
- Type of Encryption: poziom zabezpieczeń, tu zalecam ustawić np. SSL/TLS
- SMTP Port: w przypadku SSL/TLS wpisujemy port
465
- SMTP Authentication: Autoryzacja SMTP, tu koniecznie ustawiamy na Yes
- SMTP Username: podajemy adres konta e-mail, ten sam co wyżej
- SMTP Password: wklejamy hasło do konta e-mail
- klikamy [Save Changes] aby zapisać ustawienia

Gotowe. To wszystko.
Test wysyłania wiadomości SMTP.
Teraz możemy przetestować wysyłanie e-mail przez SMTP w WordPress. Nie pomijajmy tego punktu, warto mieć pewność że nasze ustawienia są poprawne.
Przełączamy się na zakładkę [Test Email] i w formularzu wysłania maila testowego podajemy [1] jakiś nasz inny adres e-mail, najlepiej zewnętrzny, uzupełniamy Subject (temat wiadomości) oraz Message (treść wiadomości) i wysyłamy klikając w [2] Send Test Email.

Jeśli wprowadziliśmy poprawne ustawienia konta pocztowego wyświetli się informacja o [3] poprawnej wysyłce wiadomości email poprzez SMTP.
Możemy teraz sprawdzić swoje zewnętrzne konto pocztowe, czy przyszła tam wiadomość testowa. Jeśli tak, to mamy poprawnie skonfigurowaną wysyłkę maili z WordPress poprzez SMTP i już nic nie musimy więcej robić.
Natomiast jeśli wystąpił błąd lub nie otrzymaliśmy maila to należy się upewnić że wprowadziliśmy poprawne ustawienia serwera SMTP, takie jak host, hasło, port. Pod tym linkiem sprawdzisz wszystkie możliwe ustawienia dla MegaPoczty -> Konfiguracja poczty (hitme.pl)
Chcę WordPress SMTP ale bez wtyczki.
Jeśli nie chcesz używać dodatkowej wtyczki i znasz się bardziej na sprawach technicznych WordPress możesz ręcznie wymusić używanie SMTP w WordPress. W tym celu jednak musisz dokonać ręcznie zmian w kodzie plików konfiguracyjnych wp-config.php oraz pliku functions.php szablonu.
W pliku wp-config.php wklejamy i uzupełniamy o swoje dane poniższy kod:
// Ustawienia SMTP email define( 'SMTP_username', 'twojadres@email' ); // wpisz swój adres e-mail dla WordPress define( 'SMTP_password', 'twoje-haslo' ); // tu podaje swoje hasło define( 'SMTP_server', 'mx1.hitme.net.pl' ); // tu podaj swój host serwera poczty define( 'SMTP_FROM', 'twojadres@email' ); // wpisz swój adres e-mail dla WordPress define( 'SMTP_NAME', 'Adam' ); // tu podaj np. swoje imie define( 'SMTP_PORT', '465' ); // tu podaj numer portu np. 465 dla SSL define( 'SMTP_SECURE', 'SSL' ); // Szyfrowanie SSL lub TLS define( 'SMTP_AUTH', true ); // Uwierzytelnienie (true|false) define( 'SMTP_DEBUG', 0 ); // dla debugowania błędów 0/1
Natomiast w pliku functions.php naszego motywu doklejamy taki kawałek kodu:
add_action( 'phpmailer_init', 'my_phpmailer_smtp' ); function my_phpmailer_smtp( $phpmailer ) { $phpmailer->isSMTP(); $phpmailer->Host = SMTP_server; $phpmailer->SMTPAuth = SMTP_AUTH; $phpmailer->Port = SMTP_PORT; $phpmailer->Username = SMTP_username; $phpmailer->Password = SMTP_password; $phpmailer->SMTPSecure = SMTP_SECURE; $phpmailer->From = SMTP_FROM; $phpmailer->FromName = SMTP_NAME; }
Uwaga! Aktualizacja motywu usunie zmiany. Jeśli używasz gotowego motywu WordPress i wprowadzisz własne zmiany w pliku functions.php to podczas aktualizacji motywu zostaną one utracone. Skorzystaj z wtyczki Code Snippets, która umożliwia łatwe dodawanie fragmentów kodu do Twojego motywu, tak aby przetrwał on proces aktualizacji.