E-mail z WordPressa
Moduł 9: E-mail, widoczność w wyszukiwarkach (SEO), RODO, konserwacja i migracja · Czas czytania: 9 minut
Cel lekcji: Po tej lekcji będą Państwo potrafili zadbać o to, aby wiadomości e-mail wysyłane z WordPressa (formularze, zamówienia, linki do resetowania hasła) docierały niezawodnie.
Kluczowe pojęcia: wp_mail, PHP mail(), nadawca (From), Reply-To, SMTP, wtyczka SMTP, uwierzytelniona skrzynka pocztowa, transakcyjna usługa pocztowa, SPF, DKIM, DMARC, zgodność (alignment), MX gdzie indziej, e-mail testowy
WordPress wysyła więcej wiadomości e-mail, niż się Państwu wydaje
Państwa strona wysyła wiadomości e-mail między innymi przy: wypełnieniu formularza kontaktowego, złożeniu zamówienia (do klienta i do Państwa), utworzeniu nowego użytkownika, zapomnianym haśle, nowym komentarzu, automatycznej aktualizacji, krytycznym błędzie (lekcja 5.4). Jeśli taka wiadomość nie dotrze, często zauważają to Państwo dopiero wtedy, gdy zadzwoni klient: "wypełniłem formularz trzy razy".
Jak WordPress domyślnie wysyła pocztę
WordPress wysyła wszystko za pomocą funkcji wp_mail. Domyślnie przekazuje ona wiadomość do funkcji PHP mail(), która przekazuje ją dalej do programu pocztowego serwera WWW. To działa, ale ma trzy słabe punkty:
- Nadawca. Bez odpowiedniej konfiguracji WordPress wysyła jako
wordpress@example.com. Jeśli taki adres nie istnieje lub nadawca różni się od Państwa własnej domeny, odbiorcy traktują wiadomość z nieufnością. - SPF, DKIM i DMARC. Serwery pocztowe odbiorców sprawdzają, czy serwer dostarczający wiadomość ma prawo wysyłać pocztę w imieniu Państwa domeny (SPF), czy wiadomość ma ważny podpis cyfrowy Państwa domeny (DKIM) oraz jaka jest polityka Państwa domeny w przypadku niezgodności (DMARC). W kursie DNS (lekcje od 4.3 do 4.5) mogą Państwo przeczytać, jak to działa. Poczta wysyłana przez serwer WWW przejdzie te kontrole tylko wtedy, gdy DNS i serwer są odpowiednio skonfigurowane.
- Poczta gdzie indziej. Jeśli Państwa e-mail nie jest obsługiwany przez hosting strony, lecz na przykład przez Microsoft 365 lub Google Workspace (rekordy MX wskazują tam), to poczta wysyłana przez serwer WWW często nie jest zgodna z SPF i DKIM. Niektóre serwery WWW próbują ponadto dostarczyć pocztę do Państwa własnej domeny lokalnie zamiast przez MX, przez co nigdy nie trafia ona do prawdziwej skrzynki pocztowej.
Poprawne ustawienie nadawcy i Reply-To
Częsty błąd w formularzach kontaktowych: użycie jako nadawcy (From) adresu odwiedzającego. Wydaje się to logiczne ("wtedy mogę po prostu kliknąć odpowiedz"), ale Państwa serwer nie ma prawa wysyłać poczty w imieniu @gmail.com czy @hotmail.com. Te domeny mają restrykcyjną politykę DMARC, więc odbiorca odrzuci wiadomość lub oznaczy ją jako spam.
Prawidłowo jest:
From: Website <website@example.com> (adres Państwa własnej domeny)
Reply-To: bezoeker@example.net (adres wpisany przez odwiedzającego)
To: info@example.comDzięki Reply-To Państwa odpowiedź i tak trafi do odwiedzającego. Niemal każda wtyczka formularzy ma te dwa pola oddzielnie.
SMTP: wysyłanie przez prawdziwą skrzynkę pocztową
Najbardziej niezawodnym rozwiązaniem jest skonfigurowanie WordPressa do wysyłania poczty przez SMTP: w taki sam sposób, w jaki wysyła Państwa program pocztowy, z nazwą użytkownika i hasłem prawdziwej skrzynki pocztowej. Robi się to za pomocą wtyczki SMTP (na przykład WP Mail SMTP, FluentSMTP lub Post SMTP; jest ich więcej). Wtyczka przechwytuje wp_mail i wysyła wiadomość przez wskazany przez Państwa serwer:
| Wybór | Dla kogo |
|---|---|
Skrzynka pocztowa u własnego dostawcy hostingu (na przykład website@example.com na serwerze pocztowym Państwa pakietu hostingowego) | Większość małych stron, których poczta jest u tego samego dostawcy |
| Poczta w Microsoft 365 lub Google Workspace | Jeśli Państwa poczta znajduje się tam; często przez specjalne połączenie we wtyczce (OAuth) zamiast hasła, ponieważ te usługi coraz bardziej ograniczają zwykłe logowanie SMTP |
| Transakcyjna usługa pocztowa (usługa wyspecjalizowana w wysyłaniu poczty ze stron internetowych i aplikacji) | Sklepy internetowe i strony wysyłające dużo poczty |
Zalety: poczta przechodzi przez serwer, który jest już skonfigurowany pod kątem SPF i DKIM dla Państwa domeny, nadawcą jest istniejący adres, a wiele wtyczek prowadzi dziennik (log), dzięki czemu widzą Państwo, co zostało wysłane, a co się nie powiodło.
Proszę zwrócić uwagę na kilka rzeczy:
- Proszę używać oddzielnego adresu e-mail dla strony (na przykład
website@), a nie własnej skrzynki pocztowej. Jeśli strona zostanie zhakowana i hasło wycieknie, taki adres można wymienić bez żadnych szkód. - Hasło SMTP znajduje się w bazie danych lub w pliku wp-config.php. Jeśli to możliwe, proszę używać hasła aplikacji lub połączenia bez hasła.
- Dziennik poczty zawiera dane osobowe (kto co wysłał). Proszę nie pozwalać mu rosnąć bez ograniczeń (lekcja 9.3).
SPF, DKIM i DMARC dla Państwa strony
Niezależnie od tego, który serwer wysyła pocztę, Państwa DNS musi do tego pasować:
- SPF: rekord SPF Państwa domeny musi wskazywać serwer, który dostarcza pocztę. Jeśli wysyłają Państwo pocztę przez serwer pocztowy swojego dostawcy hostingu, zwykle jest tam już wpisany. Jeśli wysyłają Państwo pocztę przez usługę transakcyjną, proszę dodać ich
include:w tym samym rekordzie SPF (nigdy drugi rekord SPF, kurs DNS, lekcja 4.3). - DKIM: serwer wysyłający musi podpisywać wiadomości kluczem, który znajduje się w Państwa DNS (
<selector>._domainkey.example.com). U swojego dostawcy hostingu i w usługach transakcyjnych aktywują to Państwo w ustawieniach; usługa poda Państwu potrzebne rekordy. - DMARC: rekord pod adresem
_dmarc.example.com. Proszę zacząć odp=nonei zaostrzyć politykę, gdy wszystko będzie działać poprawnie (kurs DNS, lekcja 4.5).
Dla DMARC domena w polu From musi być zgodna (aligned) z domeną, która przechodzi kontrolę SPF lub DKIM. Dlatego "From we własnej domenie" jest tak ważne.
Testowanie
- Wiele wtyczek SMTP ma przycisk Wyślij e-mail testowy. Proszę wysłać go na adres u innego dostawcy (adres Gmail lub Outlook.com) i sprawdzić, czy trafia do skrzynki odbiorczej.
- Proszę sprawdzić w tej wiadomości nagłówki ("Pokaż oryginał" lub "Pokaż źródło"). Proszę poszukać
spf=pass,dkim=passidmarc=pass. - Proszę wypełnić własny formularz kontaktowy i sprawdzić, czy wiadomość dociera, z poprawnym polem Reply-To.
- Proszę przetestować także link do resetowania hasła, a w przypadku sklepu, testowe zamówienie.
Narzędzia online, takie jak mail-tester.com, podają wynik i wyjaśnienie; za pomocą narzędzia do sprawdzania poczty u swojego dostawcy hostingu (u WebOké nazywa się ono tak) lub internet.nl sprawdzą Państwo stronę DNS.
W praktyce: jak to wygląda w panelu
Jako przykład posłużymy się DirectAdmin i wtyczką SMTP. U innych dostawców hostingu i w innych wtyczkach pola nazywają się podobnie.
- Proszę utworzyć w DirectAdmin w sekcji Konta e-mail skrzynkę pocztową
website@example.comz silnym hasłem. - Proszę odnaleźć u swojego dostawcy hostingu ustawienia poczty wychodzącej (nazwa serwera, port 465 lub 587, szyfrowanie).
- Proszę wprowadzić je we wtyczce SMTP, z
website@example.comjako nadawcą. Proszę włączyć opcję "wymuś nadawcę", aby inne wtyczki również używały tego adresu. - Proszę sprawdzić w sekcji Zarządzanie DNS, czy dla Państwa domeny istnieją rekordy SPF, DKIM i DMARC.
- Proszę wysłać wiadomość testową i sprawdzić nagłówki.
Podsumowanie
- WordPress wysyła pocztę przez wp_mail, a domyślnie przez PHP mail(); to, czy dotrze, zależy od nadawcy i DNS.
- Proszę ustawić nadawcę (From) na adres własnej domeny, a adres odwiedzającego umieścić w Reply-To.
- Najbardziej niezawodna jest wtyczka SMTP z oddzielną skrzynką pocztową lub usługa transakcyjna, z prowadzonym dziennikiem.
- SPF musi wskazywać serwer wysyłający (w jednym rekordzie), DKIM musi być włączony, DMARC powinien zaczynać się od p=none.
- Proszę testować za pomocą adresu u innego dostawcy i sprawdzać spf, dkim i dmarc w nagłówkach.
Quiz
Zadanie
Zadanie A9.1: Czy domena jest gotowa do wysyłania e-maili ze strony? Proszę wpisać swoją domenę, adres, którego Państwa strona używa jako nadawcy, oraz serwer, przez który strona wysyła pocztę (nazwa serwera SMTP lub "serwer WWW", jeśli nic Państwo nie skonfigurowali). Proszę podać także selektor DKIM, jeśli jest znany. Program sprawdzi: czy adres nadawcy należy do Państwa domeny, czy istnieje dokładnie jeden rekord SPF i czy dopuszcza on wskazany serwer, czy istnieje rekord DKIM dla podanego selektora (lub zgłosi, że bez selektora nie może tego sprawdzić), oraz czy istnieje prawidłowy rekord DMARC.
Zadanie D9.1: Odczytanie e-maila testowego. Proszę wysłać wiadomość testową ze swojej strony (przycisk testowy wtyczki SMTP lub link do resetowania hasła na konto testowe) na adres u innego dostawcy. Proszę otworzyć nagłówki tej wiadomości i zanotować wyniki przy spf, dkim i dmarc oraz jaka domena jest podana przy każdym z nich. Następnie proszę wypełnić własny formularz kontaktowy i sprawdzić: czy wiadomość dociera oraz czy "odpowiedz" prowadzi do adresu podanego w formularzu?
Zadanie D9.1: Odczytanie e-maila testowego
To zadanie wykonuje się samodzielnie, nikt go nie sprawdza. Prosimy zaznaczyć wykonane punkty i oznaczyć zadanie jako wykonane.
Trzy wyniki (pass, fail lub none) wraz z domeną, na przykład "spf=pass smtp.mailfrom=jouwdomein.nl". W przypadku fail należy podać kolejny krok (uzupełnienie SPF, włączenie DKIM, wtyczka SMTP).
Zaznaczenia i notatki pozostają tylko w tej przeglądarce; nie są nigdzie wysyłane. Po zalogowaniu w Moje kursy zapisywana jest jedynie informacja, że zadanie zostało wykonane.
Więcej informacji
Poniższe artykuły opisują kroki w panelach WebOké; w innych panelach działają one w podobny sposób.
- Wysyłanie poczty przez PHP nie działa, rekordy MX wskazują na inny serwer
- Jak w PHP uzyskać właściwego nadawcę przy użyciu mail()? SMTP
- Formularz kontaktowy na Państwa stronie internetowej: wysyłanie pól mailem i zapobieganie spamowi
- Jak działa wysyłanie wiadomości e-mail / SMTP
- Instrukcja DirectAdmin 18.10: Nie mogę wysłać wiadomości e-mail
- Bezpłatny kurs DNS 4.3: SPF: kto może wysyłać wiadomości w imieniu Państwa domeny?
- Bezpłatny kurs DNS 4.4: DKIM: podpis pod Państwa pocztą
- Bezpłatny kurs DNS 4.5: DMARC: co odbiorcy powinni robić z fałszywą pocztą
