Jak używać SMTP do wysyłania wiadomości e-mail z WordPress

Opublikowany: 2023-04-11

WordPress ma natywny sposób wysyłania wiadomości e-mail. Wykorzystuje funkcję PHP mail() do dostarczania wszystkich tych biuletynów, resetowania haseł lub dowolnego innego rodzaju wiadomości e-mail, które wysyłasz do odbiorców. Chociaż ta metoda teoretycznie powinna wystarczyć, jest daleka od doskonałości.

W WordPress wysyłanie e-maili za pomocą SMTP jest znacznie lepszą alternatywą. A konfiguracja nie jest trudna. Dzisiejszy samouczek pokaże, jak to zrobić z wtyczkami i bez nich.

Co to jest SMTP?

SMTP lub Simple Mail Transfer Protocol określa zasady przesyłania wiadomości e-mail. Umożliwia wymianę wiadomości e-mail między różnymi typami komputerów, serwerów i sieci.

Serwer SMTP to aplikacja, która działa zgodnie z protokołem SMTP i wysyła wiadomości e-mail od nadawcy do odbiorcy. Aby uprościć ten proces, serwer SMTP odbiera wiadomości e-mail od klienta poczty e-mail (Gmail, Yahoo!, Outlook itp.) iw razie potrzeby przesyła je do innych serwerów SMTP. Następnie e-maile są odbierane przez serwer SMTP odbiorców i dostarczane za pomocą serwerów poczty przychodzącej (POP3 lub IMAP).

Dlaczego warto używać SMTP do wysyłania e-maili w WordPressie?

Jak wspomnieliśmy na początku, WordPress używa funkcji PHP mail() do wysyłania e-maili. Ta metoda jest problematyczna z wielu powodów:

  • Nadaje się głównie do prostych, zwykłych wiadomości e-mail. Możliwości HTML są dość ograniczone i nie można dodawać załączników ani osadzać obrazów. To pozostawia nudne e-maile i niewiele lub wcale elementów projektu;
  • Ma poważne problemy z dostarczalnością. PHP mail() nie ma odpowiednich nagłówków wiadomości e-mail. W rezultacie dostawcy usług internetowych (ISP) oznaczają e-maile wysyłane tą metodą jako spam lub całkowicie je odrzucają. Tak więc, jeśli na przykład automatycznie wysyłasz e-mailem nowe posty do swoich subskrybentów za pomocą PHP mail(), prawdopodobnie często odwiedzasz foldery ze spamem;
  • Nie pozwala na wysyłanie e-maili przez zewnętrzne serwery. Nawet jeśli skonfigurujesz ustawienia SMTP, będzie to możliwe tylko z localhost lub podobnym rozwiązaniem. PHP mail() również nie obsługuje uwierzytelniania SMTP.

Najłatwiejszym rozwiązaniem jest skonfigurowanie WordPressa do wysyłania wiadomości e-mail za pomocą serwera SMTP. Ten ostatni wymaga uwierzytelnienia nagłówka i obsługuje bezpieczną transmisję przez SSL i TLS. Oznacza to, że będziesz mieć mniejsze szanse na napotkanie problemów z dostarczaniem wiadomości e-mail, szczególnie jeśli korzystasz z niezawodnej usługi SMTP i wszystko jest odpowiednio skonfigurowane.

W tej notatce wymyślmy, jak wysyłać wiadomości e-mail w WordPress za pomocą serwera SMTP.

Konfigurowanie SMTP w WordPress bez wtyczek

Możesz skonfigurować SMTP w WordPress bez wtyczek z odrobiną kodowania i PHPMailer. Jest to biblioteka stworzona dla PHP w celu przezwyciężenia wad funkcji mail(). PHPMailer obsługuje złożone treści wiadomości e-mail (w tym HTML i osadzone obrazy) oraz załączniki. Przede wszystkim umożliwia wysyłanie wiadomości e-mail z dowolnego serwera SMTP.

Aby PHPMailer działał, potrzebujemy działającego serwera SMTP. W poniższym przykładzie kodu użyjemy SMTP Gmaila do wysyłania e-maili w WordPress. Ale zanim zaczniemy, powinieneś utworzyć hasło do aplikacji, korzystając z tych instrukcji. W przeciwnym razie uwierzytelnienie nie będzie możliwe.

Teraz przejdź do katalogu głównego swojej witryny i zlokalizuj plikwp-config.php. Użyj poniższego przykładowego kodu, aby skonfigurować ustawienia WordPress SMTP przy użyciu poświadczeń Gmaila.

 define( 'SMTP_username', '[email protected]' );
define('Hasło_SMTP', 'hasło-aplikacji-gmail'a');
zdefiniuj( 'SMTP_server', 'smtp.gmail.com');
define( 'SMTP_FROM', 'twó[email protected]');
zdefiniuj( 'SMTP_NAME', 'Twoje imię');
zdefiniuj('SMTP_PORT', '587');
zdefiniuj( 'SMTP_SECURE', 'tls');
zdefiniuj („SMTP_AUTH”, prawda);
zdefiniuj('SMTP_DEBUG', 0);

Przejdź do edytora motywów i znajdź plikfunctions.phpdo dalszej edycji. Pamiętaj, że zaleca się wprowadzanie zmian w motywie potomnym, aby uniknąć nieprawidłowego działania motywu głównego. Dodaj następujący skrypt do plikufunctions.php.

 add_action('phpmailer_init', 'my_phpmailer_smtp');
funkcja my_phpmailer_smtp($phpmailer) {
$phpmailer->isSMTP();
$phpmailer->Host = serwer_SMTP;
$phpmailer->SMTPAuth = SMTP_AUTH;
$phpmailer->Port = SMTP_PORT;
$phpmailer->nazwa użytkownika = nazwa_użytkownika_SMTP;
$phpmailer->Hasło = hasło_SMTP;
$phpmailer->SMTPSecure = SMTP_SECURE;
$phpmailer->Od = SMTP_FROM;
$phpmailer->NazwaNadawcy = NAZWA_SMTP;
}

Zapisz ustawienia i to wszystko. Teraz Twój WordPress wysyła e-maile przez serwer SMTP.

Aby uzyskać więcej informacji, zobacz, jak wysyłać wiadomości e-mail w WordPress za pomocą funkcji PHP.

Używanie wtyczek do konfigurowania WordPress SMTP

Prostszym sposobem skonfigurowania WordPressa do wysyłania wiadomości e-mail przez SMTP są dedykowane wtyczki. Nie wymagają umiejętności kodowania – będziesz mógł je skonfigurować nawet bez pomocy programistów.

WP Poczta SMTP

WP Poczta SMTP

WP Mail SMTP to najpopularniejsza wtyczka do konfigurowania SMTP. Nakazuje PHP mail() użycie jednego ze zintegrowanych programów pocztowych lub niestandardowych ustawień SMTP. W ten sposób rozwiązuje problemy z dostarczalnością funkcji natywnej.

Możesz łatwo zainstalować WP Mail SMTP, przechodząc do zakładki „Wtyczki” z pulpitu nawigacyjnego swojej witryny WordPress i naciskając „Dodaj nowy”. Wpisz „WP Mail SMTP” w polu wyszukiwania, naciśnij „Zainstaluj teraz”, a następnie „Aktywuj”.

Instalacja WP Mail SMTP

Po zainstalowaniu wtyczki możesz skonfigurować program pocztowy z pulpitu nawigacyjnego lub za pomocą kreatora instalacji. Oba mają ten sam koncept, różnią się tylko designem. Wolimy korzystać z pulpitu nawigacyjnego, więc będziemy konfigurować wtyczkę z jego pomocą.

Mamy dwie główne opcje:

  • Skonfiguruj WP Mail SMTP z usługami SMTP innych firm
  • Użyj wbudowanego programu pocztowego

Pierwszy krok jest taki sam dla obu opcji, więc omówmy go tutaj. Otwórz ustawienia WP Mail SMTP i przewiń w dół do Od e-maila i Od nazwy w zakładce „Podstawowe połączenie”.

W polu Z wiadomości e-mail wprowadź adres e-mail, który będzie używany do wysyłania wiadomości e-mail. Może to być bezpłatne konto e-mail, ale zalecamy adres z niestandardową domeną, aby zapewnić lepszą dostarczalność. Aby upewnić się, że wprowadzony adres jest używany we wszystkich wiadomościach e-mail, zaznacz pole Wymuś z wiadomości e-mail.

W polu Nazwa nadawcy wprowadź nazwę, która będzie wyświetlana w wysyłanych wiadomościach e-mail. Jeszcze raz zaznacz Force From Name, aby upewnić się, że inne wtyczki (na przykład WooCommerce lub wtyczka biuletynu WordPress) nie zastąpią tego ustawienia.

Konfiguracja SMTP poczty WP

Gdy to zrobisz, możemy przejść do konfigurowania programu pocztowego, aby poinstruował WordPress, aby wysyłał e-maile z wtyczką.

Konfigurowanie poczty WP z usługami SMTP innych firm

Korzystanie z niezawodnej usługi SMTP innej firmy jest niezbędne, aby mieć pewność, że wiadomości e-mail WordPress są dostarczane do skrzynek odbiorczych odbiorców. Dzięki funkcji Inne SMTP WP Mail SMTP możesz łatwo zintegrować swój ulubiony program pocztowy. W dzisiejszym samouczku użyjemy niezawodnej usługi SMTP dostarczanej przez Mailtrap.

Ale zanim zintegrujesz go ze swoją witryną WordPress, musisz najpierw utworzyć konto i postępować zgodnie z kreatorem w aplikacji, aby zweryfikować swoją domenę. Aby to zrobić, musisz mieć dostęp do rekordów DNS swojej domeny. W nich będziesz musiał dodać gotowe rekordy SPF, DKIM i DMARC, a następnie nacisnąć Zweryfikuj domenę.

Weryfikacja domeny pułapki pocztowej

Po uruchomieniu konta wróć do „Wysyłanie domen” i naciśnij zweryfikowaną domenę. Następnie kliknij „API i SMTP”, wybierz „SMTP” i skopiuj poświadczenia.

Integracje Mailtrap api smtp

Wróć do WP Mail SMTP i wybierz Inne SMTP na karcie Mailer.

Mailtrap Inne SMTP

Zobaczysz zestaw pustych pól. Wypełnij je, używając poświadczeń SMTP Mailtrap:

  • Host SMTP: live.smtp.mailtrap.io
  • Szyfrowanie: TLS (możesz również wybrać SSL, ale TLS jest zalecane)
  • Port SMTP: 587 (zostanie uzupełniony automatycznie)
  • Uwierzytelnianie: włącz
  • Nazwa użytkownika SMTP: api
  • Hasło SMTP: Twoje hasło SMTP
Ustawienia SMTP pułapki pocztowej

Naciśnij „Zapisz ustawienia”. Zobaczysz okno potwierdzenia. Jeśli wszystko jest poprawnie skonfigurowane, a WordPress wysyła e-mail SMTP, wróć do swojego konta Mailtrap i naciśnij „Zweryfikuj konfigurację”.

Konfiguracja weryfikacji pułapki pocztowej

Korzystanie z wbudowanego Mailera

Przejdźmy do drugiej opcji integracji – za pomocą wbudowanego mailera, aby upewnić się, że WordPress używa SMTP do wysyłania e-maili. Za pomocą tej metody możesz wybrać jeden z programów pocztowych WP Mail SMTP, w tym SendLayer, SMTP.com, Sendinblue, Amazon SES itp. Tej metody można również użyć do skonfigurowania Gmail SMTP w WordPress lub nawet Microsoft 365/Outlook.

Proces integracji jest podobny dla większości ESP. Oczywiście powinieneś mieć działające konto, aby zintegrować je z WP Mail SMTP. Musisz tylko wybrać program pocztowy i wprowadzić klucz API swojego konta. Instrukcje na ten temat będą dostępne w oficjalnej dokumentacji ESP.

Wbudowany Mailer

W przypadku niektórych programów pocztowych może być konieczne wprowadzenie domeny wysyłającej, identyfikatora strumienia wiadomości lub regionu. Szczegółowe instrukcje dla każdego nadawcy są dostępne tutaj.

Wtyczka HubSpot WordPress

Wtyczka HubSpot WordPress

WP Mail SMTP służy głównie do konfigurowania WordPressa do wysyłania e-maili za pomocą SMTP. Wręcz przeciwnie, HubSpot WordPress Plugin to kompletna wtyczka Customer Relationship Manager (CRM) do Twojej witryny WordPress. Z jego pomocą możesz tworzyć listy e-mailowe z formularzami rejestracyjnymi, komunikować się z odwiedzającymi za pomocą czatu na żywo i analizować ważne wskaźniki.

Co najważniejsze, wtyczka HubSpot WordPress umożliwia integrację preferowanego ESP w celu wysyłania e-maili marketingowych (ręcznie lub automatycznie) do Twoich kontaktów. Ma również wbudowane szablony i edytor typu „przeciągnij i upuść”. Jeśli więc szukasz czegoś więcej niż tylko konfiguracji SMTP, HubSpot może być dla Ciebie dobrym wyborem.

SMTP Gmaila

SMTP Gmaila

Gmail SMTP to kolejna wtyczka WordPress do wysyłania wiadomości e-mail za pomocą protokołu SMTP, ale została zaprojektowana specjalnie dla Gmaila. Opiera się na PHPMailer i natywnej funkcji wp_mail do wysyłania wiadomości e-mail, co oznacza, że ​​nadal możesz korzystać ze wszystkich ich funkcji.

Wtyczka Gmail SMTP łączy się z Gmailem za pomocą API i protokołu OAuth 2.0. W ten sposób nie będziesz musiał wpisywać żadnych nazw użytkowników ani haseł. Musisz jednak utworzyć aplikację w Google Developer Console i skonfigurować dane uwierzytelniające OAuth. Na szczęście oficjalna strona wtyczki zawiera listę niezbędnych instrukcji.

Opublikuj program pocztowy SMTP

Opublikuj program pocztowy SMTP

Ostatnią opcją, którą mamy tutaj, jest Post SMTP Mailer. Jest to przyjazna dla użytkownika wtyczka, która pozwala zintegrować ESP za pomocą SMTP lub API. Darmowa wersja obsługuje interfejsy API Mailgun, SendGrid, Mandrill (obecnie Mailchimp Transactional Email), SparkPost, Postmark, Sendinblue i Gmail. Wersja Pro zapewni dostęp do Zoho Mail, Amazon SES i Microsoft 365.

Ponadto Post SMTP Mailer przechowuje dzienniki poczty e-mail i wysyła powiadomienia Chrome, jeśli wystąpią jakiekolwiek problemy.

Jak testować e-maile w WordPressie?

Aby upewnić się, że Twoja konfiguracja może pomyślnie wysyłać e-maile z WordPress, musisz przetestować swoje e-maile. Większość wtyczek jest dostarczana z domyślną funkcją testowania dla niektórych podstawowych kontroli.

Na przykład za pomocą WP Mail SMTP możesz przejść do zakładki „Test e-maila”, wprowadzić swój adres e-mail i nacisnąć „Wyślij e-mail”. Jeśli konfiguracja jest poprawna, powinieneś znaleźć w swojej skrzynce e-mail testowy. Jeśli nie, WP Mail SMTP wyświetli dziennik błędów.

Testowanie poczty e-mail SMTP WP Mail

Jednak testowanie funkcji wysyłania wiadomości e-mail nie zawsze wystarcza. Przed wysłaniem wiadomości e-mail do kontaktów należy koniecznie przetestować kod HTML, zweryfikować nagłówki i sprawdzić wynik spamu. W tym miejscu może Ci pomóc inne rozwiązanie Mailtrap, Email Testing. Przechwytuje Twoje wiadomości e-mail WordPress do wirtualnej skrzynki odbiorczej, upewniając się, że żadna z nich nie dotrze do skrzynek odbiorców.

Podobnie jak w przypadku wysyłania wiadomości e-mail, testowanie poczty e-mail można zintegrować z wtyczkami WordPress przy użyciu poświadczeń SMTP. Znajdziesz je na swoim koncie, rozwijając „Moją skrzynkę odbiorczą” i naciskając „Pokaż dane uwierzytelniające”. Oto jak będą wyglądać przykładowe ustawienia SMTP:

  • Host SMTP: sandbox.smtp.mailtrap.io
  • Szyfrowanie: TLS lub SSL
  • Port SMTP: 465 lub 587
  • Uwierzytelnianie: włącz
  • Nazwa użytkownika SMTP: <Twoja nazwa użytkownika SMTP>
  • Hasło SMTP: <twoje hasło SMTP>

W ciągu kilku sekund Twój testowy e-mail pojawi się w Twojej wirtualnej skrzynce odbiorczej, jeśli konfiguracja jest poprawna.

Testowanie wiadomości e-mail pułapki pocztowej

Jak widzieliśmy, aby skonfigurować WordPress do wysyłania e-maili za pomocą SMTP, masz dwie główne opcje: kodowanie za pomocą PHPMailer lub użycie wtyczek. Pierwsza opcja jest bardziej odpowiednia dla programistów, podczas gdy druga opcja jest idealna dla marketerów. Bez względu na to, którą metodę wybierzesz, najważniejsze jest znalezienie sposobu na obejście niedociągnięć PHP.

Wszystkie wymienione powyżej wtyczki umożliwiają korzystanie z protokołu SMTP Gmaila. Chociaż jest wystarczająco dobry do wysyłania okazjonalnych e-maili, lepiej wybrać niezawodny ESP do wysyłania dużych ilości e-maili. W przeciwnym razie Twoje e-maile najprawdopodobniej zostaną oznaczone jako spam.

Cieszyć się!