Na hostingu WordPress DiDHost wysyłka poczty przez stronę WWW możliwa jest za pośrednictwem protokołu SMTP. Przede wszystkich chodzi o to, aby dostarczalność wysyłanych maili była lepsza, a przy okazji jest to dodatkowy czynnik chroniący Ciebie, Klientów hostingu i innych użytkowników Internetu.
Dostarczalność – gdy wysyłasz wiadomość używając funkcji mail() w PHP (domyślna forma wysyłki z WordPressa) wówczas nie jest ona w pełni autoryzowana, co oznacza że niektóre serwery mogą ją nawet odrzucić, a prawdopodobieństwo wylądowania w spamie również jest wyższe.
Wysyłając pocztę po SMTP, wiadomość jest w pełni autoryzowana oraz podpisana kluczem DKIM. Dzięki temu mniejszy odsetek wysyłanych maili trafi do folderów ze spamem!
Bezpieczeństwo – Wyobraź sobie, że masz na pokładzie WordPressa wtyczkę z wykrytą luką, przez którą każdy haker może się włamać i wrzucić pliki na Twoje konto hostingowe.
Wystąpienie takiej sytuacji jest mocno zminimalizowane przez konfiguracje naszych usług hostingowych, które w czasie rzeczywistym monitorują czy na konto nie trafiają niebezpieczne pliki. Pamiętaj jednak, że nie ma oprogramowania, które jest w stanie wyeliminować wszystkie możliwe zagrożenia!
Jeśli komuś uda się wrzucić przez problematyczną wtyczkę czy motyw pliki do wysyłki spamu, niechciane maile popłyną z Twojego hostingu, a Ty możesz nie mieć najmniejszej świadomości, że coś takiego ma miejsce.
Gdy wykorzystujesz wysyłkę na protokole SMTP, a na serwerze funkcja mail() jest zablokowana, wysyłka spamu się nie powiedzie.
Wtyczka do wysyłki na protokole SMTP #
Jest ich sporo w repozytorium WordPress, natomiast obecnie polecam wtyczkę Fluent SMTP.
Daje możliwość nie tylko wysyłki za pośrednictwem własnych kont email, ale także pozwala integrować się z zewnętrznymi usługami SMTP. Dodatkowo, to co z pewnością docenisz, wtyczka pozwala przechowywać w bazie danych informacje o ostatnio wysyłanych wiadomościach. Gdyby któryś z klientów sklepu powiedział Ci, że maila nie dostał, jednym kliknięciem możesz ponownie zainicjować wysyłkę. Bywa to bardzo przydatne.
Jedyne co musisz zrobić, to zainstalować wtyczkę i następnie ją skonfigurować. O instalacji pisać tu nie będę, ale jeśli nie wiesz jak to działa zajrzyj do artykułu: „Jak zainstalować wtyczkę WordPress„.
Wtyczka zmieni domyślny sposób wysyłki wiadomości email z WordPressa na wysyłkę za pośrednictwem konkretnego adresu email z wykorzystaniem protokołu SMTP i wszelkich uwierzytelnień oraz podpisów autoryzujących z tym związanych.
Konfiguracja wtyczki SMTP #
Oczywiście mowa o wspomnianej powyżej wtyczce Fluent SMTP 🙂
Przejdź w kokpicie WordPress do: Ustawienia > Fluent SMTP. W tym miejscu, gdy jeszcze nic nie jest skonfigurowane trzeba wybrać operatora za pośrednictwem którego będzie wysyłana poczta.
To co w naszym przykładzie zrobimy, to połączymy się z naszym wewnętrznym serwerem poczty SMTP. Wybierz więc zaznaczoną powyżej ikonkę „Other SMTP„, aby przejść do kolejnego kroku.
Ten wybór jest najczęstszy, ale możesz też rozważyć wysyłkę za pośrednictwem zewnętrznych operatorów, którzy specjalizują w zasadzie tylko wysyłce maili transakcyjnych ze sklepów (np. Postmark, którego sam używam) zapewniając jeszcze wyższy poziom dostarczalności.
Jednak śmiało możesz wybrać własny serwer pocztowy czyli wspomnianą opcję „Other SMTP”.
Konfiguracja połączenia #
Po kliknięciu na ikonie innego dostawcy SMTP (Other SMTP), możesz wprowadzić dane konta pocztowego, przez które będą wysyłane maile z Twojej strony internetowej. Oto formularz z wypełnionymi przykładowymi danymi:
Dwa proste pola. W pierwszym wpisujesz adres email nadawcy, najlepiej ten przez który poczta ma być wysyłana, a w polu obok np. swoje Imię Nazwisko, nazwę sklepu, itp… To pojawi się u odbiorcy na liście maili – będzie więc wiedział kto wysłał do niego maila.
Jeśli wiadomości będą wysyłane przez jedno z kont email na serwerach DiDHost #
- SMTP Host – wpisujesz swoją domenę (bez www) lub z przedrostkiem mail.
- SMTP Port – Sugeruję wpisać port o numerze 465 lub 587
- Encryption (szyfrowanie) – jeśli wpiszesz w poprzednim kroku port 465 wybierz opcję SSL, w sytuacji gdy wpiszesz port 587 wybierz opcję TLS.
- Pozostałe dwa włączniki pozostaw aktywne chodzi o Use Auto TLS i Authentication (autoryzacja).
- SMTP Username (użytkownik SMTP) – Wpisujesz pełny adres email konta przez które będą wysyłane maile np. sklep@domenaX.pl (ustaw tu swój adres email).
- SMTP Password (hasło konta email) – Wpisz w tym polu hasło konta email, z którego poczta będzie wysyłana.
To wszystko. W sytuacji gdy chcesz wysyłać maile przez zewnętrzne konto email, sprawdź u operatora poczty jakich danych powinieneś użyć do wysyłki SMTP i wprowadź je w formularzu.
Gdy wszystko jest gotowe kliknij w przycisk „Save Connection Settings„.
Możesz edytować, a nawet dodawać kolejne metody wysyłki #
Gdy połączenie SMTP zostanie dodane zobaczysz je na liście:
Z tego poziomu możesz przejść do edycji ustawień (niebieska ikonka ołówka), ikoną oka podejrzysz swoje dane nadawcy wiadomości, a ikonka kosza pozwoli usunie połączenie jeśli nie będzie już potrzebne. W razie potrzeby możesz dodać kolejne połączenia SMTP.
Po prawej stronie domyślnie masz aktywne logi wysyłanych maili i są one przechowywane przez 14 dni. Możesz także ustawić domyślne połączenie SMTP jeśli dodasz ich docelowo więcej.
Test wysyłki #
Spokojnie, nie musisz składać zamówienia w sklepie żeby sprawdzić czy wysyłka działa 🙂 Kliknij na zakładce Email Test, a następnie kliknij na pierwszym polu From (od kogo). Rozwinie się lista z dodanymi połączeniami SMTP – wybierz to, które chcesz przetestować.
W polu Sent To (Wyślij do) wpisz dowolny adres email na jaki chcesz wysłać testową wiadomość.
Na koniec kliknij w przycisk Send Test Email.
Jeśli z ustawieniami SMTP wszystko jest w porządku zobaczysz potwierdzenie poprawnej wysyłki:
Jest tu także formularz zapisu na listę subskrybentów twórców wtyczki – nie musisz się zapisywać jeśli nie chcesz. Sprawdź natomiast skrzynkę odbiorczą konta na które wysłałeś test. Powinieneś znaleźć maila o podobnej treści jak poniżej:
Jeśli zajrzysz do logów wysyłanych wiadomości, również znajdziesz potwierdzenie poprawnej wysyłki. Będą tu także błędy jeśli coś pójdzie nie tak.
Na liście wysłanych lub niewysłanych wiadomości email znajdziesz przycisk '”Resend„. Kliknięcie na nim ponowi wysyłkę tej wiadomości. Jeśli więc ktoś z Twoich Klientów napisze do Ciebie, że nie dostał maila ze sklepu, wygodnie ponowisz wysyłkę 🙂
Wysyłka po SMTP została poprawnie skonfigurowana i wszystkie maile wysyłane z WordPressa od tej pory będą należycie uwierzytelnione i podpisane 🙂
Błąd wysyłki #
Gdy przy wykonywaniu testu pojawi się następujący błąd:
SMTP Error: Could not connect to SMTP host. Connection failed. stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
Oznacza to, że certyfikat SSL nie jest przypisany do obsługi poczty na protokole SMTP. W takiej sytuacji
- przejdź do panelu konta hostingowego (jeśli nie wiesz jak zajrzyj tutaj)
- przejdź do sekcji Poczta > Ustawienia Poczty i wybierz swoją domenę
- Przewiń stronę prawie na sam dół aby odszukać sekcję dotyczącą certyfikatu SSL i upewnij się czy w obu polach rozwijanych masz wybrany właściwy certyfikat, przykład poprawnego ustawienia:
Po wprowadzonych zmianach zapisz nowe ustawienia i wykonaj test wysyłki ponownie.