Modul 9 · 9.1
Slovenčina
E-mail z WordPressu
Modul 9: E-mail, vyhľadateľnosť, GDPR, údržba a presťahovanie · Čas čítania: 9 minút
Cieľ lekcie: Po tejto lekcii dokážete zabezpečiť, aby pošta z WordPressu (formuláre, objednávky, odkazy na heslo) spoľahlivo dochádzala.
Kľúčové pojmy: wp_mail, PHP mail(), odosielateľ (From), Reply-To, SMTP, SMTP plugin, autentifikovaná schránka, transakčná mailová služba, SPF, DKIM, DMARC, zarovnanie (alignment), MX inde, testovací e-mail
WordPress odosiela viac pošty, než si myslíte
Vaša stránka odosiela poštu pri: vyplnenom kontaktnom formulári, objednávke (zákazníkovi aj vám), novom používateľovi, zabudnutom hesle, novom komentári, automatickej aktualizácii, kritickej chybe (lekcia 5.4). Ak táto pošta nedôjde, často si to všimnete až keď vám zavolá zákazník: „vyplnil som formulár trikrát.“
Ako WordPress štandardne odosiela poštu
WordPress odosiela všetko cez funkciu wp_mail. Štandardne tá odovzdá poštu PHP funkcii mail(), ktorá ju odovzdá mailovému programu webového servera. To funguje, ale má tri slabé miesta:
- Odosielateľ. Bez nastavenia odosiela WordPress ako
wordpress@example.com. Ak táto adresa neexistuje, alebo je odosielateľ iný ako vaša vlastná doména, príjemcovia tomu nedôverujú. - SPF, DKIM a DMARC. Prijímajúce mailové servery kontrolujú, či server, ktorý poštu doručuje, smie odosielať v mene vašej domény (SPF), či má pošta platný digitálny podpis vašej domény (DKIM), a aká je politika vašej domény, ak to nesedí (DMARC). V DNS kurze (lekcia 4.3 až 4.5) sa dočítate, ako to funguje. Pošta cez webový server prejde tieto kontroly len vtedy, ak sú na to pripravené vaše DNS a server.
- Pošta inde. Ak váš e-mail nie je u vášho webhostingu, ale napríklad v Microsoft 365 alebo Google Workspace (vaše MX záznamy tam smerujú), pošta cez webový server často nesúhlasí s vaším SPF a DKIM. A niektoré webové servery sa snažia poštu na vašu vlastnú doménu doručiť lokálne namiesto cez MX, takže sa nikdy nedostane do vašej skutočnej schránky.
Správne nastavenie odosielateľa a Reply-To
Častá chyba pri kontaktných formulároch: použiť ako odosielateľa (From) adresu návštevníka. To vyzerá logicky („potom môžem stlačiť odpovedať“), ale váš server nesmie odosielať v mene @gmail.com alebo @hotmail.com. Tieto domény majú prísnu politiku DMARC, takže príjemca poštu odmietne alebo ju označí ako spam.
Správne je:
From: Website <website@example.com> (adresa z vašej vlastnej domény)
Reply-To: bezoeker@example.net (adresa, ktorú zadal návštevník)
To: info@example.comS Reply-To sa vaša odpoveď aj tak dostane k návštevníkovi. Takmer každý plugin na formuláre má tieto dve polia oddelené.
SMTP: odosielanie cez skutočnú schránku
Najspoľahlivejším riešením je nechať WordPress odosielať poštu cez SMTP: rovnakým spôsobom, akým odosiela váš mailový program, s používateľským menom a heslom skutočnej schránky. Robí sa to pomocou SMTP pluginu (napríklad WP Mail SMTP, FluentSMTP alebo Post SMTP; existuje ich viac). Plugin zachytí wp_mail a odošle poštu cez server, ktorý zadáte:
| Možnosť | Pre koho |
|---|---|
Schránka u vlastného hostingu (napríklad website@example.com na mailovom serveri vášho hostingového balíka) | Väčšina malých stránok s poštou u rovnakého poskytovateľa |
| Vaša pošta v Microsoft 365 alebo Google Workspace | Ak je vaša pošta tam; často cez špeciálne prepojenie v pluginu (OAuth) namiesto hesla, pretože tieto služby stále viac obmedzujú bežné prihlásenie cez SMTP |
| Transakčná mailová služba (služba špecializovaná na odosielanie pošty z webových stránok a aplikácií) | Internetové obchody a stránky, ktoré odosielajú veľa pošty |
Výhody: pošta prechádza cez server, ktorý je už nastavený so SPF a DKIM pre vašu doménu, odosielateľ je existujúca adresa a mnohé pluginy vedú log, takže vidíte, čo bolo odoslané a čo zlyhalo.
Dajte pozor na niekoľko vecí:
- Používajte pre stránku samostatnú mailovú adresu (napríklad
website@), nie vlastnú schránku. Ak sa stránka napadne a heslo unikne, túto adresu môžete nahradiť bez škody. - SMTP heslo je uložené v databáze alebo v wp-config.php. Používajte kde sa dá heslo pre aplikáciu alebo prepojenie bez hesla.
- Mailový log obsahuje osobné údaje (kto čo odoslal). Nenechajte ho nekonečne rásť (lekcia 9.3).
SPF, DKIM a DMARC pre vašu stránku
Nech odosiela ktorýkoľvek server, vaše DNS tomu musia zodpovedať:
- SPF: SPF záznam vašej domény musí uvádzať server, ktorý poštu doručuje. Ak odosielate cez mailový server vášho hostingu, väčšinou tam už je. Ak odosielate cez transakčnú službu, pridáte ich
include:do toho istého SPF záznamu (nikdy druhý SPF záznam, DNS kurz lekcia 4.3). - DKIM: odosielajúci server musí poštu podpísať kľúčom, ktorý je vo vašich DNS (
<selector>._domainkey.example.com). U vášho hostingu a u transakčných služieb to zapnete; služba vám dá záznamy. - DMARC: záznam na
_dmarc.example.com. Začnite sp=nonea sprísnite, keď všetko sedí (DNS kurz lekcia 4.5).
Pre DMARC musí byť doména v From zarovnaná s doménou, ktorá prejde cez SPF alebo DKIM. Preto je „From na vašej vlastnej doméne“ také dôležité.
Testovanie
- Mnohé SMTP pluginy majú tlačidlo Odoslať testovací e-mail. Odošlite ho na adresu u iného poskytovateľa (adresu Gmail alebo Outlook.com) a skontrolujte, či sa dostane do doručenej pošty.
- Pozrite si v tomto e-maile hlavičky („Zobraziť pôvodnú správu“ alebo „Zobraziť zdroj“). Vyhľadajte
spf=pass,dkim=passadmarc=pass. - Vyplňte svoj vlastný kontaktný formulár a skontrolujte, či pošta dôjde, so správnym Reply-To.
- Otestujte aj odkaz na heslo a pri obchode aj testovaciu objednávku.
Online nástroje ako mail-tester.com poskytujú hodnotenie a vysvetlenie; pomocou E-mail kontroly vášho hostingu (u WebOké sa tak volá) alebo internet.nl skontrolujete DNS stránku.
V praxi: ako to vyzerá v paneli
Ako príklad použijeme DirectAdmin a SMTP plugin. U iných hostingov a pluginov sa polia volajú podobne.
- Vytvorte v DirectAdmin pod E-mail účty schránku
website@example.comso silným heslom. - Vyhľadajte u svojho hostingu nastavenia pre odchádzajúcu poštu (názov servera, port 465 alebo 587, šifrovanie).
- Zadajte ich do SMTP pluginu, s
website@example.comako odosielateľom. Zapnite „vynútiť odosielateľa“, aby túto adresu používali aj iné pluginy. - Skontrolujte v Správe DNS, že pre vašu doménu existujú SPF, DKIM a DMARC.
- Odošlite testovací e-mail a prečítajte si hlavičky.
Zhrnutie
- WordPress odosiela cez wp_mail a štandardne cez PHP mail(); či pošta dôjde, určuje odosielateľ a DNS.
- Nastavte odosielateľa (From) na adresu vašej vlastnej domény a adresu návštevníka do Reply-To.
- Najspoľahlivejší je SMTP plugin so samostatnou schránkou alebo transakčná služba, s logom.
- SPF musí uvádzať odosielajúci server (v jednom zázname), DKIM musí byť zapnutý, DMARC začať s p=none.
- Otestujte s adresou u iného poskytovateľa a prečítajte si spf, dkim a dmarc v hlavičkách.
Kvíz
Úloha
Úloha A9.1: Je vaša doména pripravená na odosielanie e-mailov z vašej stránky? Zadajte svoju doménu, adresu, ktorú vaša stránka používa ako odosielateľa, a server, cez ktorý vaša stránka odosiela poštu (názov SMTP servera, alebo „webový server“, ak ste nič nenastavili). Zadajte aj DKIM selektor, ak ho poznáte. Program skontroluje: adresa odosielateľa patrí k vašej doméne, existuje presne jeden SPF záznam a povoľuje uvedený server, existuje DKIM záznam pri danom selektore (alebo oznámi, že bez selektora nemôže skontrolovať), a existuje platný DMARC záznam.
Úloha D9.1: Čítanie testovacieho e-mailu. Odošlite testovací e-mail zo svojej stránky (testovacie tlačidlo vášho SMTP pluginu, alebo odkaz na heslo na testovací účet) na adresu u iného poskytovateľa. Otvorte hlavičky tohto e-mailu a zapíšte si výsledky pri spf, dkim a dmarc, a ktorá doména je pri každom uvedená. Potom vyplňte svoj vlastný kontaktný formulár a skontrolujte: dochádza pošta a smeruje „odpovedať“ na adresu, ktorú ste zadali vo formulári?
Úloha D9.1: Čítanie testovacieho e-mailu
Túto úlohu vykonávate sami, nikto ju nekontroluje. Odškrtnite, čo ste urobili, a označte úlohu ako splnenú.
Tri výsledky (pass, fail alebo none) s doménou, napríklad "spf=pass smtp.mailfrom=vasadomena.sk". Pri výsledku fail uveďte ďalší krok (doplnenie SPF, zapnutie DKIM, SMTP plugin).
Vaše zaškrtnutia a poznámky zostávajú iba v tomto prehliadači, nikam ich neposielame. Po prihlásení si v sekcii Moje kurzy uchovávame iba to, že ste úlohu splnili.
Ďalšie čítanie
Tieto články popisujú kroky v paneloch WebOké; v iných paneloch fungujú podobne.
- Odosielanie e-mailov cez PHP nefunguje, záznamy MX smerujú inam
- Ako v PHP s funkciou mail() dosiahnuť správneho odosielateľa? SMTP
- Kontaktný formulár na vašom webe: ako posielať polia e-mailom a predchádzať spamu
- Vysvetlenie procesu odosielania e-mailov / SMTP
- Návod na DirectAdmin 18.10: Nedá sa mi odoslať e-mail
- Bezplatný kurz DNS 4.3: SPF: kto smie posielať poštu v mene vašej domény?
- Bezplatný kurz DNS 4.4: DKIM: podpis pod vašou poštou
- Bezplatný kurz DNS 4.5: DMARC: čo majú príjemcovia robiť s podvodnou poštou
