WordPress Amazon SES krok po kroku
Niech zgadnę. Chcesz za pomocą swojego WordPressa wysyłać newsletter?
A może masz zainstalowaną wtyczkę sklepu Woocommerce i potrzebujesz wysłać do ludzi maile transakcyjne?
Zarówno w pierwszym, jak i drugim przypadku świetnie sprawdzi się usługa Amazon SES.
Dlaczego?
Po pierwsze, kto jak kto, ale Amazon ma doświadczenie w wysyłaniu maili. Oprócz usługi chmury, to przecież gigantyczny sklep, prawda? Wysyła niebotyczne ilości maili, które muszą trafiać do adresatów. Wykorzystuje do tego tę samą usługę, z której teraz i Ty możesz skorzystać.
Po drugie, jest niesamowicie opłacalny. Wysyłka 10 000 tysięcy maili to koszt 1 dolara. Co więcej, płacisz tylko i wyłącznie za wysłane maile.
Z poniższego poradnika dowiesz się jak krok po kroku zintegrować Amazon SES ze swoim WordPressem.
Istnieje również możliwość wykonania konfiguracji łączącej instalację WordPress z dedykowaną usługą dostarczania poczty e-mail przez naszych informatyków. Koszt takiej usługi to 299 zł. Chęć skorzystania z usługi możesz zgłosić za pomocą formularza kontaktowego znajdującego się pod tym linkiem.
Przejdź do konsoli A mazonu.
W polu wyszukiwania wpisz „SES”, a następnie wybierz usługę „Simple Email Service”.
Następnie wybierz z menu znajdującego się w prawym górnym rogu region, z którego będziesz chcieć wysyłać maile.
Teraz dodamy i zweryfikujemy domenę, z której będziesz wysyłać maile za pomocą Amazon SES.
W tym celu z menu po lewej stronie wybierz zakładkę „Domains”, a następnie kliknij przycisk „Verify a New Domain”.
Teraz odpowiednio wpisz nazwę domeny, zaznacz opcję „Generate DKIM Settings” oraz kliknij przycisk „Verify This Domain”.
Podpis DKIM poprawia dostarczalność maili, dlatego zaznacz opcję „Generate DKIM Settings”.
Amazon wygeneruje dla Ciebie rekordy DNS, które należy wprowadzić w ustawieniach DNS domeny. Zaraz pokażę Ci jak to zrobić krok po kroku.
Zaloguj się do panelu hostingowego, kliknij zakładkę „Strony WWW i domeny”, a następnie przy domenie, którą właśnie dodajemy do Amazon SES, kliknij „Ustawienia DNS”.
Kliknij przycisk „Dodaj rekord”.
Jako typ rekordu wybierz „TXT”.
Wróć na chwilę do zakładki z konsolą Amazonu. Skopiuj wygenerowane rekordy rekord TXT i wprowadź dane w Plesku.
Dodaj następny rekord, tym razem jako typ wybierz „CNAME”.
Wróć na chwilę do zakładki z konsolą Amazonu. Skopiuj wygenerowane rekordy (rekord CNAME) i wprowadź dane w Plesku.
Wprowadź w ten sposób wszystkie 3 rekordy CNAME wygenerowane przez Amazon.
Ważne. Nie wprowadzaj /nie zmieniaj/ rekordu MX wygenerowanego przez Amazon. Jeżeli to zrobisz, Twoje skrzynki pocztowe w tej domenie przestaną działać, a wszystkie maile przychodzące zostaną przekierowane na serwery Amazon.
Na koniec po wprowadzeniu wszystkich zmian kliknij przycisk „Aktualizuj”.
Po dodaniu rekordów DNS musisz uzbroić się w cierpliwość. Zajmie trochę czasu, zanim nowo dodane rekordy DNS się rozpropagują.
Dopiero wtedy Twoja domena uzyska status jako zweryfikowana w Amazonie. W skrajnych przypadkach może to potrwać nawet do 72 godzin, aczkolwiek przeważnie trwa to znacznie krócej i niekiedy nawet już po kilku minutach Twoja domena może widnieć w Amazonie jako zweryfikowana.
Stan weryfikacji możesz sprawdzać na bieżąco w konsoli Amazonu.
W międzyczasie, czekając na weryfikację, skonfigurujemy wtyczkę, która połączy Twoją instalację WordPress z Amazon SES.
Na początek jednak dodamy i zweryfikujemy w konsoli Amazon adres e-mail.
Zaraz po utworzeniu konta Amazon SES, takie konto znajduje się w tzw. sandbox’ie i możesz wysłać wiadomości tylko na adresy e-mail dodane i zweryfikowane w konsoli Amazonu.
Konto w sandbox’ie w zupełności Ci wystarczy jeżeli zamierzasz wysyłać powiadomienia mailowe tylko na swoją skrzynkę pocztową, np. powiadomienia o nowych komentarzach na blogu.
Jednak jeżeli będziesz chcieć wysyłać maile również do innych użytkowników, np. newsletter, bloga lub maile transakcyjne z wtyczki Woocommerce, to konieczne będzie usunięcie sandbox’a. Po jego usunięciu możesz wysyłać maila na dowolne adresy e-mail bez konieczności dodawania ich do konsoli i weryfikacji. Na końcu tego wpisu jak już cała integracja będzie gotowa, to pokażę Ci jak to zrobić.
Teraz jednak dodajmy i zweryfikujmy adres e-mail choćby po to, aby na końcu integracji wysłać na niego mail testowy i upewnić się, że wszystko działa prawidłowo.
W tym celu wybierz zakładkę „Email Address” w konsoli Amazon. Kliknij przycisk „Verify a New Email Address”. Wprowadź adres e-mail i kliknij „Verify This Email Address”.
Sprawdź teraz swoją skrzynkę pocztową. Otwórz mail od Amazon i kliknij link potwierdzający.
To wszystko. Adres dodany i zweryfikowany. Na koniec, jak już integracja będzie gotowa wyślemy na niego mail testowy.
Teraz przejdźmy do samej integracji.
Zainstalujemy i skonfigurujemy teraz wtyczkę WordPress, która umożliwi nam wysłanie wszystkich WordPress’owych mali za pomocą Amazon SES.
W tym celu zaloguj się do panelu WordPress. Wybierz zakładkę „Wtyczki > Dodaj nową”, wpisz w polu wyszukiwania „WP Offload SES Lite” i kliknij „Zainstaluj teraz”.
Następnie z zakładki „Ustawiania”, wybierz „WP Offload SES Lite” i kliknij „Get Started”.
Wtyczka w skrócie poinformuje Cię o kolejnych etapach integracji, którą teraz przejdziemy. Kliknij „Next: Enter Access Keys”.
Wróćmy teraz do konsoli Amazon. Przejdź proszę teraz pod ten link.
Z menu po lewej stronie wybierz zakładkę „Users”.
Wygenerujemy tam użytkownika, którego dane będziemy musieli wprowadzić w ustawieniach wtyczki.
Kliknij przycisk „Add user”
W polu User name wprowadź „Offload”. Zaznacz opcję „Programmatic access” i kliknij przycisk „Next: Permissions”.
Wybierz „Attach existing policies directly”.
Następnie w polu wyszukiwania wpisz „AmazonSESFull”, następnie zaznacz checkbox przy „AmazonSESFullAccess”.
Kliknij „Next: tags”.
Kliknij „Next: Review”.
Kliknij „Create user”.
Amazon wygeneruje dla Ciebie dane dostępowe. Aby zobaczyć „Secret access key”, należy kliknąć „Show”.
Wróćmy teraz do konfiguracji wtyczki.
Wtyczka pozwala na podanie i zapisanie danych dostępowych, które przed chwilą wygenerowaliśmy na dwa różne sposoby.
Dane te można zapisać w pliku wp-config (sposób zalecany przez twórców wtyczki) lub w bazie danych.
Łatwiejszym sposobem jest zapisanie danych do bazy, aczkolwiek w pierwszej kolejności pokaże Ci jak to zrobić zalecanym sposobem.
Zaloguj się do panelu Plesk i wybierz z menu zakładkę „Strony WWW i domeny”. Następnie wybierz „Manager plików” pod nazwą strony, którą właśnie integrujemy z Amazon SES.
Odszukaj i kliknij plik „wp-config.php”.
Wklej do pliku następujący kod:
define( 'WPOSES_AWS_ACCESS_KEY_ID’, 'xxxxxxxxxxxxx’ );
define( 'WPOSES_AWS_SECRET_ACCESS_KEY’, 'xxxxxxxxxxxxx’ );
Oczywiście zamiast „x-ów”, wprowadź wygenerowane wcześniej w konsoli Amazon Access Key Id oraz Secret Access Key.
Kod musi zostać wklejony przed „if ( ! defined( ‚ABSPATH’ ) )
define( ‚ABSPATH’, dirname( FILE ) . ‚/’ );”.
Wróć teraz do panelu administracyjnego WordPress oraz konfiguracji wtyczki.
Tak jak wspomniałem wcześniej, istnieje także drugi troszkę prostszy sposób zapisania danych dostępowych do bazy danych.
Jeżeli chcesz z niego skorzystać, zamiast zapisywać dane dostępowe do pliku wp-config, to kliknij w „click here to reveal a form”.
Jeżeli jednak dane zostały już przez Ciebie zapisane do pliku „wp-config”, to pomiń ten krok.
Następnie wybierz region, dla którego zostały utworzone dane (region wybieraliśmy na samym początku) i kliknij „Next: Move out of Sandbox Mode”.
Każde nowe konto Amazon SES znajduje się w trybie „Sandbox Mode”. Zostanie Ci wyświetlona krótka instrukcja jak pozbyć się „Sandbox Mode”. Do tego jeszcze wrócimy, kliknij „Next: Verify Sender”.
Teraz wprowadź adres domeny, z której będą wysyłane wiadomości i kliknij „Next: Complete Verification”.
Wtyczka wyświetli Ci informacje o konieczności weryfikacji domeny poprzez dodanie rekordu TXT w ustawieniach domeny. Już to zrobiliśmy na początku wpisu, pamiętasz?
Kliknij „Next: Configure WP Offload SES”.
Teraz odpowiednio:
1) W polu „WordPress Notification Email” wprowadź adres e-mail, z którego będą wysyłane wiadomości e-mail.
2) W polu „WordPress Notification Name” wprowadź imię i nazwisko lub nazwę organizacji, która będzie widnieć jako nadawca wiadomości.
3) Przy „Return Path” podaj adres e-mail, na jaki mają być wysyłane maile z informacją o odrzuceniach wiadomości oraz skargach. Przykładowo na ten adres będziesz dostawać powiadomienie, jeśli mail, na który została wysłana wiadomość nie istnieje. Jest to ważne, ponieważ jeśli będziesz wysyłać dużo maili na nieistniejące adresy, to Twoje konto Amazon SES może zostać zablokowane.
4) Kliknij „Save and Complete Setup”.
Teraz w konfiguracji wtyczki włącz opcję wysyłania maila za pomocą integracji z Amazon SES i zapisz zmiany. Następnie wybierz zakładkę „Send Test Email”
Wprowadź teraz adres e-mail, na który zostanie wysłana wiadomość e-mail. Koniecznie musi to być ten sam adres, który weryfikowaliśmy na początku poradnika, pamiętasz?
Następnie kliknij „Send Test Email”.
Twoim oczom powinno ukazać powiadomienie „Message sent!”. Jeżeli rzeczywiście tak jest, to gratuluje! Udało Ci się przeprowadzić integrację WordPress’a z Amazon SES.
Aktualnie Twoje konto Amazon SES znajduje się w trybie Sandbox, co oznacza, że integracja może wysłać tylko 100 Wiadomości dziennie i tylko na adresy e-mail zweryfikowane w konsoli Amazon.
Konto w trybie Sandbox jest wystarczające do wysłania podstawowych powiadomień WordPress.
Jednak jest kompletnie bezużyteczne jeśli chcesz wysłać z poziomu WordPressa newsletter lub też maile transakcyjne sklepu utworzonego np. za pomocą wtyczki Woocommerce.
W tym celu musimy pozbyć się limitów narzuconych przez Sandbox.
Oto jak to zrobić.
Wróć do konsoli Amazon SES i wybierz zakładkę „Sending Statistics”.
Zobaczysz informację o aktualnym znajdowaniu się konta w trybie trybie „Sandbox”. Kliknij przycisk „Request a Sending Limit Increase”.
Wybierz zakładkę „Service limit increase”.
Wybierz region, dla którego została uruchomiona usługa SES i mają zostać zwiększone limity.
Jako typ limitu wybierz „Desired Daily Sending Quota”
Następnie podaj wartość, do jakiej chcesz zwiększyć limit wysyłanych e-maili w ciągu 24 godzin, np. 50000.
Przygotowałem dla Ciebie szablon wiadomości, który możesz wykorzystać w polu „Case description”.
Hello,
I’d like to ask you to increase the sending limit for my account.
I will send transactional emails and newsletter (without spam, only real subscribers).
I have a privacy policy:
[link do polityki prywatności]
I also know that I will have to handle bounces.
Best Regards,
[Twoje Imię i Nazwisko]
Nie zapomnij podmienić „[link do polityki prywatności]” na rzeczywisty link do polityki prywatności oraz „[Twoje Imię i Nazwisko]” na rzeczywiste imię i nazwisko.
Po wysłaniu wiadomości pozostaje Ci uzbroić się w cierpliwość. Rozpatrzenie prośby o zwiększenie limitu może potrwać dzień lub dwa.
To wszystko.
Kiedy limit zostanie zwiększony i Sandbox ściągnięty, Twoja instalacja WordPress będzie mogła wysyłać wiadomości na dowolne adresy mailowe.
Istnieje również możliwość wykonania konfiguracji łączącej instalację WordPress z dedykowaną usługą dostarczania poczty e-mail przez naszych informatyków. Koszt takiej usługi to 299 zł. Chęć skorzystania z usługi możesz zgłosić za pomocą formularza kontaktowego znajdującego się pod tym linkiem.