Skąd biorą się problemy z dostarczalnością?
Wyobraź sobie taką sytuację – klient składa zamówienie w Twoim sklepie WooCommerce, ale potwierdzenie nigdy do niego nie dociera. Albo użytkownik próbuje zresetować hasło, a mail z linkiem przepada gdzieś w otchłani internetu. Brzmi znajomo?
Problem polega na tym, że WordPress domyślnie wykorzystuje funkcję PHP mail() do wysyłania wiadomości. To rozwiązanie ma jedną zasadniczą wadę – maile wysłane w ten sposób nie są w żaden sposób uwierzytelnione. Serwery pocztowe odbiorców, takie jak Gmail czy Outlook, traktują je podejrzliwie i często kierują prosto do folderu spam. W skrajnych przypadkach odrzucają je całkowicie.
Dodatkowym problemem jest współdzielony hosting. Jeśli Twoja strona działa na tanim hostingu, gdzie na jednym serwerze znajdują się setki innych stron, to adres IP tego serwera może mieć już nadszarpniętą reputację. Wystarczy, że ktoś inny wysyłał z niego spam, a Twoje całkowicie legalne maile będą cierpieć z tego powodu.
SMTP jako fundament dostarczalności
SMTP (Simple Mail Transfer Protocol) to standardowy protokół do przesyłania poczty elektronicznej. W przeciwieństwie do funkcji PHP mail(), SMTP wymaga uwierzytelnienia – musisz podać login i hasło, żeby wysłać wiadomość. Dzięki temu serwery pocztowe odbiorców wiedzą, że mail rzeczywiście pochodzi z autoryzowanego źródła.
Żeby WordPress zaczął korzystać z SMTP, potrzebujesz odpowiedniej wtyczki. Na rynku dostępnych jest kilka popularnych rozwiązań. WP Mail SMTP to jedna z najpopularniejszych opcji, która oferuje integrację z wieloma zewnętrznymi serwisami. Post SMTP Mailer wyróżnia się szczegółowymi logami wysłanych wiadomości, co ułatwia diagnostykę problemów. FluentSMTP z kolei jest całkowicie darmowy i nie ma żadnych ograniczeń w wersji bezpłatnej.
Każda z tych wtyczek działa na podobnej zasadzie – przechwytuje wszystkie maile, które WordPress próbuje wysłać, i przekierowuje je przez skonfigurowany serwer SMTP.
Rekordy DNS – Twoja cyfrowa legitymacja
Sam SMTP to jednak dopiero połowa sukcesu. Żeby naprawdę zadbać o dostarczalność, musisz skonfigurować trzy rodzaje rekordów DNS dla swojej domeny.
SPF (Sender Policy Framework)
Rekord SPF to lista serwerów, które mają prawo wysyłać maile w imieniu Twojej domeny. Kiedy serwer odbiorcy otrzymuje wiadomość rzekomo od kowalski@twojadomena.pl, sprawdza rekord SPF tej domeny. Jeśli serwer wysyłający znajduje się na liście – świetnie. Jeśli nie – mail zostaje oznaczony jako podejrzany.
DKIM (DomainKeys Identified Mail)
DKIM działa trochę jak cyfrowy podpis. Serwer wysyłający dodaje do każdego maila zaszyfrowany podpis, a klucz publiczny do jego weryfikacji umieszczasz w rekordach DNS swojej domeny. Serwer odbiorcy może dzięki temu potwierdzić, że wiadomość naprawdę pochodzi z Twojej domeny i nie została po drodze zmodyfikowana.
DMARC (Domain-based Message Authentication)
DMARC to nadbudowa nad SPF i DKIM. Określa, co serwer odbiorcy powinien zrobić z mailem, który nie przejdzie weryfikacji – może go odrzucić, skierować do spamu albo przepuścić mimo wszystko. DMARC pozwala też otrzymywać raporty o próbach podszywania się pod Twoją domenę.
Zewnętrzne serwisy do wysyłki maili
Zamiast konfigurować własny serwer SMTP, możesz skorzystać z dedykowanych serwisów do wysyłki maili transakcyjnych. To wiadomości generowane automatycznie w odpowiedzi na konkretne działania użytkownika – potwierdzenia zamówień, resetowanie haseł, powiadomienia o komentarzach i tym podobne.
Serwisy takie jak Mailgun, SendGrid, Amazon SES, Brevo (dawniej Sendinblue) czy SMTP2GO specjalizują się właśnie w tym. Ich serwery mają znakomitą reputację, a konfiguracja sprowadza się zwykle do dodania kilku rekordów DNS i wklejenia klucza API we wtyczce. Większość z nich oferuje darmowy limit wystarczający dla małych stron – na przykład Brevo pozwala wysłać 300 maili dziennie bez opłat.
Warto wiedzieć, że maile transakcyjne to zupełnie inna kategoria niż newslettery czy kampanie marketingowe. Do tych drugich lepiej sprawdzą się narzędzia typu Mailchimp czy MailerLite, które mają wbudowane mechanizmy zarządzania listami subskrybentów i zgodności z RODO.
Jak sprawdzić, czy wszystko działa?
Po skonfigurowaniu SMTP i rekordów DNS warto przetestować całą konfigurację. Większość wtyczek SMTP ma wbudowaną funkcję wysyłania testowego maila – zacznij od tego.
Następnie możesz skorzystać z narzędzia mail-tester.com. Wysyłasz maila na podany tam jednorazowy adres, a serwis analizuje wiadomość i przyznaje ocenę w skali od 1 do 10. Przy okazji wskaże konkretne problemy – brakujący rekord DKIM, źle skonfigurowany SPF czy treść wyglądającą na spam.
Pamiętaj też, żeby regularnie sprawdzać logi wysyłki we wtyczce. Jeśli zauważysz, że część maili nie dochodzi do określonych dostawców (na przykład wszystkie do wp.pl), może to sygnalizować problem z reputacją IP lub błędną konfigurację po stronie tego konkretnego dostawcy.
Na co jeszcze zwrócić uwagę
Sama konfiguracja techniczna to jedno, ale na dostarczalność wpływa też treść wiadomości. Unikaj typowych słów-wyzwalaczy filtrów antyspamowych w temacie maila. Frazy w stylu „DARMOWE!!!” czy „Kliknij tutaj natychmiast” to prosta droga do folderu spam.
Zadbaj też o to, żeby Twoje maile miały sensowną strukturę – wersję HTML i tekstową, poprawny adres nadawcy oraz działający link do rezygnacji z subskrypcji (jeśli wysyłasz cokolwiek poza mailami czysto transakcyjnymi).
Jeśli korzystasz z hostingu współdzielonego i mimo poprawnej konfiguracji nadal masz problemy, rozważ migrację na lepszy hosting lub skorzystanie z zewnętrznego serwisu do wysyłki. Czasami reputacja IP serwera hostingowego jest na tyle zszargana, że żadna konfiguracja po Twojej stronie tego nie naprawi.
TL;DR: Domyślnie WordPress wysyła maile przez funkcję PHP mail(), która nie uwierzytelnia wiadomości – stąd problemy ze spamem. Rozwiązaniem jest skonfigurowanie SMTP oraz odpowiednich rekordów DNS (SPF, DKIM, DMARC).