WordPress neodosiela e-maily: SMTP, SPF, DKIM a riešenie problémov

Prečo WordPress neodosiela e-maily?
Zákazník si objedná tovar a potvrdenie objednávky nikdy nepríde. Niekto si zabudne heslo, klikne na „obnoviť heslo“ a čaká na e-mail, ktorý nikdy nedorazí. Kontaktný formulár na webe hlási „správa bola odoslaná“, ale vo vašej schránke nič nie je. Tento problém sa v drvivej väčšine prípadov netýka WordPressu samotného, ale toho, ako (a či vôbec) je server nastavený na skutočné odosielanie pošty.
WordPress na odosielanie e-mailov interne používa funkciu wp_mail(), ktorá je len obálkou nad
knižnicou PHPMailer. Pokiaľ nie je nastavené inak, PHPMailer sa spolieha na vstavanú funkciu PHP mail() a tá potrebuje na serveri fungujúci prenosový agent (MTA, napríklad sendmail alebo
Postfix). Veľa hostingov túto cestu buď vôbec nemá poriadne nastavenú, alebo ju aktívne obmedzuje kvôli
spamu. Výsledok je rovnaký: WordPress si „myslí“, že e-mail odoslal, ale ten nikdy nedorazí k adresátovi.
Krátka odpoveď: WordPress štandardne posiela poštu cez nespoľahlivú funkciu PHP mail(), nie cez overený e-mailový kanál. Riešením je nastaviť skutočný SMTP prenos cez
overenú doménu a doplniť DNS záznamy SPF a DKIM (ideálne aj DMARC). Ak e-maily stále nechodia aj po
správnom SMTP nastavení, príčinou býva konflikt pluginov, zlá konfigurácia hostingu alebo chýbajúce
DNS záznamy.
Ako funguje odosielanie e-mailov vo WordPresse
Podľa oficiálnej dokumentácie WordPress.org platí, že pokiaľ server nemá správne nastavený a nakonfigurovaný SMTP server (MTA), odchádzajúca pošta sa jednoducho neodošle. Na spravovanom hostingu (napríklad u väčšiny slovenských poskytovateľov) toto zvyčajne rieši samotný hosting, ale nie vždy spoľahlivo pre všetky typy e-mailov, najmä ak web posiela väčší objem transakčných správ.
Pre samostatne spravované servery dokumentácia odporúča tri prístupy: lokálny MTA s priamym odosielaním (vyžaduje skúsenosti a nesie riziko zlej IP reputácie), lokálny MTA, ktorý poštu preposiela cez overenú tretiu stranu („odporúčaná metóda pre väčšinu self-hosted nastavení“), alebo SMTP priamo cez kód či plugin. Tretí spôsob je najjednoduchší na nastavenie, ale pri vyššom objeme pošty môže podľa rovnakej dokumentácie spôsobiť výkonnostné spomalenie, pretože si vyžaduje samostatné pripojenie pri každom odoslanom e-maile.
Bez ohľadu na zvolenú cestu platí jedno: samotné odoslanie e-mailu zo servera ešte neznamená, že ho prijímajúca schránka (Gmail, Outlook, firemná pošta) skutočne doručí do doručenej pošty. To rozhoduje autentifikácia.
Najčastejšie príčiny, prečo e-maily nechodia
Hosting bez funkčného MTA
Server nemá správne nastavený prenosový agent alebo ho poskytovateľ z bezpečnostných dôvodov obmedzuje. E-mail sa nikdy neodošle ďalej, aj keď WordPress hlási úspech.
Chýbajúci alebo nesprávny SMTP prenos
Web posiela poštu cez nespoľahlivú funkciu mail() namiesto autentifikovaného SMTP
pripojenia k overenej odosielacej službe.
Chýbajúce alebo nesprávne SPF a DKIM záznamy
Prijímajúci server nedokáže overiť, že e-mail skutočne patrí vašej doméne, a preto ho označí ako podozrivý alebo ho rovno odmietne.
Konflikt pluginu alebo témy
Bezpečnostný plugin, iný SMTP doplnok alebo vlastný kód môžu odosielanie nevedomky blokovať alebo prepisovať nastavenia navzájom.
Porovnanie spôsobov nastavenia odosielania
| Metóda | Náročnosť nastavenia | Kedy sa hodí |
|---|---|---|
| Lokálny MTA s priamym odosielaním | Vysoká, vyžaduje serverové skúsenosti a správu IP reputácie | Skúsení administrátori s vlastným serverom a kontrolou nad infraštruktúrou |
| Lokálny MTA s prenosom cez overenú tretiu stranu | Stredná, reputáciu preberá etablovaná služba | Odporúčaný prístup pre väčšinu samostatne spravovaných serverov |
| SMTP priamo cez kód alebo plugin | Nízka, rýchle nastavenie cez rozhranie pluginu | Bežné riešenie na spravovanom hostingu alebo pri menšom objeme e-mailov |
Ako problém opraviť krok za krokom
- Skontrolujte Site Health. V administrácii choďte na Nástroje → Zdravie stránky a pozrite sa, či WordPress hlási problém s odosielaním pošty priamo v tomto module.
- Otestujte reálne doručenie, nie len odoslanie. Pošlite si testovací e-mail na vlastnú schránku aj na bežnú Gmail alebo Outlook adresu. Rozdiel medzi „prišlo“ a „prišlo do spamu“ vám povie veľa o tom, kde presne problém je.
- Nastavte SMTP cez overenú doménu. Namiesto spoliehania sa na PHP
mail()pripojte WordPress na autentifikovanú odosielaciu službu, ktorá reálne posiela poštu za vašu doménu. - Pridajte alebo opravte SPF záznam. SPF v DNS zázname domény určuje, ktoré servery smú v jej mene odosielať poštu. Musí obsahovať presne tie služby, ktoré skutočne posielajú e-maily (napríklad hosting aj transakčnú SMTP službu, ak používate obe).
- Nastavte DKIM podpis. DKIM pridáva k odchádzajúcej pošte kryptografický podpis, ktorý prijímajúci server overí voči verejnému kľúču vo vašom DNS. Bez platného podpisu môže prijímajúci server e-mail rovno vyhodnotiť ako spam.
- Zvážte DMARC. DMARC záznam určuje, čo sa má stať, keď SPF alebo DKIM zlyhajú, a zároveň poskytuje reporty o tom, kto sa v mene vašej domény pokúša posielať poštu.
- Overte doručenie naprieč viacerými poskytovateľmi. Gmail, Outlook a firemné schránky môžu na rovnaké nastavenie reagovať odlišne. Otestujte doručenie na aspoň dvoch rôznych typoch schránok pred tým, ako problém označíte za vyriešený.
Riziká a časté chyby
Doména môže mať platný iba jeden SPF záznam. Ak firma popri WordPresse používa aj bežnú firemnú poštu (napríklad Google Workspace), oba zdroje musia byť zahrnuté v tom istom zázname, inak sa časť pošty automaticky vyhodnotí ako podozrivá.
Podľa oficiálnych pravidiel Google pre odosielateľov , Gmail od odosielateľov posielajúcich vo väčšom objeme vyžaduje nastavené SPF aj DKIM a platné doménové záznamy vrátane reverzného DNS. Rovnaké odporúčanie sa oplatí dodržať aj pri menšom objeme pošty, pretože zvyšuje šancu na doručenie do doručenej pošty namiesto priečinka spam.
Ďalšia bežná chyba je testovanie iba na vlastnú e-mailovú schránku, ktorá môže mať mierne odlišné pravidlá než bežná zákaznícka schránka. Rovnako sa oplatí nezabúdať, že objednávkové a transakčné e-maily vo WooCommerce idú cez rovnaký mechanizmus ako zvyšok WordPressu, takže ten istý problém typicky postihne stratené heslá aj potvrdenia objednávok naraz.
Koľko to stojí a čo to vyžaduje
Samotné pridanie SPF a DKIM záznamu je vo väčšine prípadov otázkou pár minút úprav v DNS správe domény a nemá priamy poplatok. Náklady rastú, ak web potrebuje profesionálnu transakčnú SMTP službu s vyšším objemom odosielaných e-mailov, alebo ak je potrebné najprv diagnostikovať konflikt medzi viacerými pluginmi či nesprávnu konfiguráciu hostingu. Presný rozsah práce a cenu vie určiť až konkrétna diagnostika vášho webu, keďže závisí od hostingu, počtu aktívnych pluginov a toho, či ide o jednorazovú opravu alebo o dlhodobejšie nastavenie.
Kontrolný zoznam pred odoslaním prvého testu
- WordPress je pripojený na autentifikované SMTP, nie na predvolenú funkciu PHP
mail(). - SPF záznam domény obsahuje všetky služby, ktoré skutočne posielajú poštu v jej mene.
- DKIM podpis je aktívny a verejný kľúč je správne publikovaný v DNS.
- DMARC záznam existuje aspoň v monitorovacom režime, aby ste videli prípadné zneužitie domény.
- Testovací e-mail bol overený minimálne na dvoch rôznych poskytovateľoch schránok.
- WooCommerce e-maily (objednávka, reset hesla) boli otestované samostatne, nie len kontaktný formulár.
Súvisiace návody a zdroje
- WordPress programátor: Oprava webu a WooCommerce
- Ako vybrať rýchly a bezpečný WordPress hosting
- WooCommerce návod: Ako nastaviť e-shop krok za krokom
- Nefunguje WordPress po aktualizácii? Príčiny a bezpečný postup opravy
- Kontaktujte nás
Potrebujete overiť, prečo váš web neodosiela e-maily?
Pošlite nám adresu webu a stručný popis problému (napríklad či ide o kontaktný formulár, reset hesla alebo objednávky WooCommerce). Najskôr preveríme skutočnú príčinu a až potom navrhneme konkrétny postup opravy aj s cenovým odhadom.
Preveriť problém s e-mailamiNa záver
Chýbajúce e-maily pôsobia ako malý technický detail, kým si niekto neuvedomí, koľko zákazníkov medzitým prišlo o potvrdenie objednávky alebo sa nedokázalo prihlásiť späť do účtu. Dobrá správa je, že príčina je takmer vždy zistiteľná a oprava zvyčajne nevyžaduje prepisovanie webu, iba správne DNS záznamy a spoľahlivý SMTP prenos. Ak si nie ste istí, ktorá časť reťazca zlyháva, oplatí sa to najprv poriadne oddiagnostikovať namiesto skúšania náhodných pluginov jeden po druhom.
Časté otázky
Skontrolujte priečinok spam na testovacej schránke a súčasne pošlite testovací e-mail cez SMTP logovací plugin alebo hostingový mail log. Ak e-mail nie je ani v spame, ani v logu, problém je pri samotnom odoslaní zo servera. Ak sa v logu objaví, ale neprišiel, ide skôr o problém s doručiteľnosťou (SPF, DKIM) než s odosielaním.
Nie. Väčšina webov použije SMTP pripojenie k existujúcej odosielacej službe alebo k hostingom poskytovanému mail serveru. Vlastný lokálny mail server dáva zmysel iba pri vyššom objeme pošty alebo špecifických technických požiadavkách.
SMTP plugin vyrieši spôsob odosielania, ale nezaručí doručenie. SPF a DKIM sú DNS záznamy na úrovni domény, ktoré prijímajúcemu serveru dokazujú, že e-mail je legitímny. Bez nich môže pošta aj napriek správnemu SMTP skončiť v spame alebo byť odmietnutá.
Doména môže mať iba jeden platný SPF záznam, takže musí obsahovať všetky služby naraz, ktoré v jej mene posielajú poštu, teda webhosting aj Google Workspace alebo inú firemnú poštu. Pridanie druhého samostatného SPF záznamu SPF nezosilní, iba ho zneplatní.
Áno. WooCommerce posiela transakčné e-maily cez rovnaký mechanizmus ako zvyšok WordPressu, takže pokazené odosielanie zvyčajne postihne súčasne potvrdenia objednávok, faktúry aj reset hesla, nie iba kontaktný formulár.
Šírenie DNS zmien zvyčajne trvá od niekoľkých minút do niekoľkých hodín v závislosti od TTL záznamu a poskytovateľa DNS. Pred ďalším testovaním sa oplatí počkať aspoň hodinu a zmenu si overiť priamo v DNS, nie iba podľa toho, či testovací e-mail už prišiel.
Nie, viacero samostatných SPF záznamov je podľa štandardu neplatných a niektoré servery ich z tohto dôvodu ignorujú úplne. Všetky odosielajúce služby musia byť zahrnuté v jedinom SPF zázname domény.
Ak sa problém neprejaví jednoznačne (napríklad e-maily chodia niektorým zákazníkom a iným nie), ak je na serveri viacero pluginov, ktoré môžu odosielanie ovplyvňovať súčasne, alebo ak firma nemá istotu v správu vlastných DNS záznamov, je bezpečnejšie nechať diagnostiku a nastavenie odbornej kontrole než experimentovať priamo na produkčnom webe.