WordPress formulár neposiela e-maily: príčiny a riešenie
Keď WordPress formulár neposiela e-maily, problém býva vo funkcii PHP mail, adrese odosielateľa, hostingu alebo doručovaní. Postupujte od základnej kontroly až po SMTP a DNS.
- Najprv skontrolujte adresu príjemcu, polia To, From a Reply-To, spam a to, či problém vzniká pri každom odoslaní.
- Ak WordPress správu vytvorí, ale nedoručí ju, nastavte autentifikované SMTP podľa údajov vášho hostingu alebo e-mailového poskytovateľa.
- Po nastavení SMTP otestujte doručenie a skontrolujte SPF, DKIM, DMARC, zhodu domény odosielateľa a ochranu formulára pred spamom.
Prečo WordPress formulár neposiela e-maily?
Najčastejšou príčinou je nespoľahlivé alebo nesprávne nastavené odosielanie cez funkciu PHP mail, chybná adresa odosielateľa alebo problém na hostingu. Úspešná hláška po odoslaní ešte neznamená, že dopyt dorazil do schránky. Formulár musí najprv spracovať údaje, WordPress musí vytvoriť správu cez funkciu wp_mail(), server ju musí odoslať a prijímateľský poštový server ju musí prijať a zaradiť do doručenej pošty.
Dokumentácia WordPressu výslovne upozorňuje, že kladný návratový výsledok funkcie wp_mail() potvrdzuje iba spracovanie požiadavky bez chyby. Nepotvrdzuje, že príjemca správu skutočne dostal.
Typické príčiny sú nesprávna adresa v poli To, nevhodná alebo neexistujúca adresa v poli From, zle nastavené Reply-To, obmedzenie hostingu, konflikt doplnkov, chyba v téme alebo presunutie správy do spamu. Problém môže vzniknúť aj po aktualizácii formulárového doplnku, WordPressu, PHP alebo bezpečnostného doplnku.
Pred zásahom do webu si preto určte, kde sa správa stráca: vo formulári, vo WordPresse, na serveri odosielateľa alebo až pri doručovaní do schránky. Pri firemnom webe nejde iba o technickú chybu — stratený dopyt môže znamenať aj premeškanú obchodnú príležitosť.
- Formulár zobrazí úspech a údaje sa správne spracujú.
- SMTP umožní overené odosielanie cez konkrétny e-mailový účet alebo službu.
- PHP mail môže byť na hostingu obmedzený alebo nedostatočne dôveryhodný pre prijímateľov.
- Správa môže byť prijatá, ale skončiť v spame alebo karanténe.
Čo skontrolovať ako prvé, keď nechodia e-maily z WordPressu?
Najprv skontrolujte adresu príjemcu, nastavenia To, From a Reply-To, spam a rozdiel medzi chybou konkrétneho formulára a celého webu. Otvorte nastavenia formulára a overte, kam sa dopyty odosielajú. Skontrolujte preklepy, neviditeľné medzery a to, či cieľová schránka ešte existuje. Ak sa používa viac príjemcov, testujte ich postupne.
Adresa v poli From by mala patriť doméne, z ktorej odosielate. E-mail návštevníka vložte skôr do Reply-To, aby ste po kliknutí na odpoveď reagovali priamo jemu. Takéto oddelenie znižuje riziko, že server odmietne správu s cudzou adresou vydávajúcou sa za váš web.
Odošlite test a skontrolujte doručenú poštu, spam, hromadnú poštu aj prípadnú karanténu. Test zopakujte z inej adresy, napríklad z firemnej a súkromnej schránky. Zaznamenajte si čas odoslania, predmet a použitý formulár.
Ak nefunguje iba jeden formulár, hľadajte chybu v jeho konfigurácii, povinných poliach, ochrane proti spamu alebo konkrétnom integračnom prvku. Ak nefungujú ani systémové e-maily WordPressu, problém bude skôr v odosielaní webu, hostingu alebo SMTP.
Pri formulári zbierajúcom meno, e-mail, telefón či obsah dopytu skontrolujte aj informačný text o spracúvaní osobných údajov. Návštevník by mal vedieť, kto údaje spracúva, na aký účel a kde nájde podrobnejšie informácie; samotná oprava doručovania túto povinnosť nenahrádza. Užitočným základom môže byť vyhlásenie o ochrane osobných údajov.
- Overte adresu v poli To a existenciu cieľovej schránky.
- Skontrolujte From, Reply-To a prípadné kópie alebo skryté kópie.
- Odošlite test z viacerých adries a skontrolujte spam aj karanténu.
- Zistite, či zlyháva jeden formulár alebo všetky e-maily WordPressu.
- Zapíšte si čas testu, chybové hlásenie a použitý formulár.
- Adresa príjemcu je správna a schránka funguje.
- From patrí vašej doméne a Reply-To obsahuje adresu návštevníka.
- Test bol skontrolovaný aj v spame alebo karanténe.
- Viete, či problém postihuje jeden alebo všetky formuláre.
Ako zistiť, či e-mail odosiela formulár, WordPress alebo hosting?
Problém izolujete tak, že najprv otestujete samotné odosielanie WordPressu a až potom konfiguráciu formulára a doručovanie do konkrétnej schránky. Začnite testovacou správou cez funkciu alebo nástroj, ktorý používa rovnaký spôsob odosielania ako WordPress. Ak test zlyhá ešte pred odoslaním, formulár pravdepodobne nie je hlavná príčina. Ak test prejde, porovnajte jeho nastavenia s konkrétnym formulárom.
Pri chybe si pozrite záznam odosielania, ak ho poskytuje použitý doplnok alebo hosting. Zaujíma vás, či bola správa vytvorená, či server prijal požiadavku na odoslanie a či poštová služba vrátila chybový kód. Bez záznamu je hláška „odoslané“ iba neúplná informácia.
WordPress podporuje aj diagnostiku chýb cez WP_DEBUG a WP_DEBUG_LOG. Na produkčnom webe však nezobrazujte technické chyby návštevníkom a po teste záznamy zabezpečte alebo vypnite. Dokumentácia WordPressu odporúča používať ladenie ako nástroj na hľadanie chýb v jadre, doplnkoch, téme a vlastnom kóde.
Príklad: ak formulár zobrazí úspech, záznam nehlási chybu a testovacia správa nepríde ani do spamu, problém môže byť na úrovni hostingu alebo prijímacieho servera. Ak testovací e-mail príde, ale formulár nie, porovnajte príjemcu, hlavičky, podmienky odoslania a ochranu proti spamu konkrétneho formulára.
- Odošlite testovaciu správu mimo konkrétneho formulára.
- Skontrolujte záznam doplnku, WordPressu alebo hostingu.
- Rozlíšte chybu pri vytvorení správy od chyby pri SMTP spojení.
- Porovnajte výsledok v doručenej pošte, spame a karanténe.
- Až potom upravujte formulár alebo deaktivujte doplnky.
| Výsledok testu | Pravdepodobný význam | Ďalší krok |
|---|---|---|
| Formulár hlási chybu | Údaje sa nespracovali alebo doplnok odoslanie zastavil | Skontrolujte povinné polia, validáciu, antispam a log |
| WordPress test zlyhá | Problém je v mailovej konfigurácii, SMTP alebo hostingu | Overte SMTP údaje a obmedzenia servera |
| Test prejde, formulár nie | Chyba je v nastavení alebo integrácii formulára | Porovnajte To, From, Reply-To a podmienky odoslania |
| Správa sa odošle, ale nedorazí | Problém môže byť v doručovaní, reputácii alebo spame | Skontrolujte hlavičky, DNS, spam a odmietnutie správy |
- 1. FormulárOverte, či prijme a spracuje údaje bez validačnej chyby.
- 2. WordPressOdošlite samostatný test cez rovnakú mailovú cestu.
- 3. ServerSkontrolujte log, SMTP spojenie a prípadné obmedzenie hostingu.
- 4. DoručenieOverte prijatú poštu, spam, karanténu a odpoveď prijímacieho servera.
Ako nastaviť SMTP vo WordPresse krok za krokom?
SMTP nastavíte tak, že vo formulárovom alebo SMTP doplnku zadáte údaje poskytovateľa, zapnete autentifikáciu a šifrované spojenie a následne odošlete testovaciu správu. SMTP je spôsob odosielania, pri ktorom sa WordPress pripája k určenému poštovému serveru namiesto spoliehania sa iba na serverovú funkciu PHP mail. Neznamená automaticky bezchybné doručenie, ale umožní presnejšie overenie účtu, spojenia a výsledku odoslania.
Od poskytovateľa hostingu alebo e-mailovej služby si vyžiadajte názov SMTP servera, používateľské meno, heslo, port, typ šifrovania a prípadné obmedzenia. Nepoužívajte údaje odhadnuté podľa názvu domény. Konkrétny port a šifrovanie sa medzi poskytovateľmi líšia.
Postupujte v tomto poradí:
Nainštalujte a aktivujte dôveryhodný SMTP doplnok alebo použite SMTP nastavenie, ktoré ponúka váš formulárový doplnok.
Zadajte SMTP server, používateľské meno a heslo podľa dokumentácie poskytovateľa.
Zapnite autentifikáciu a zvoľte TLS alebo SSL podľa požiadaviek služby; nepoužívajte nezabezpečené spojenie len preto, že test prejde.
Nastavte adresu v poli From na schránku patriacu vašej doméne a Reply-To ponechajte pre adresu odosielateľa formulára.
Odošlite testovaciu správu na viac cieľových schránok a skontrolujte záznam odosielania.
Heslo neukladajte do verejne dostupného kódu, neposielajte ho e-mailom v otvorenom texte a neposkytujte ho pracovníkom, ktorí ho nepotrebujú. Ak doplnok podporuje bezpečnejšie pripojenie cez API alebo OAuth, riaďte sa dokumentáciou konkrétnej služby; bez znalosti poskytovateľa nemožno určiť správnu voľbu.
| Údaj | Čo overiť |
|---|---|
| SMTP server | Presný názov servera od hostingu alebo e-mailovej služby |
| Používateľské meno | Či ide o celú e-mailovú adresu alebo osobitné konto |
| Heslo | Či je správne, chránené a nie je zverejnené v kóde |
| Port a šifrovanie | Hodnoty predpísané poskytovateľom, nie všeobecný odhad |
| From | Adresa patriaca doméne a účtu použitému na odosielanie |
Nastavenie robte v chránenom administrátorskom prostredí a po zmene prístupov otestujte aj odoslanie a log. Presné porty, šifrovanie a limity vždy overte u konkrétneho poskytovateľa.
Čo ak SMTP funguje, ale e-maily stále končia v spame alebo nedorazia?
Ak SMTP správu odošle, ale príjemca ju nevidí, skontrolujte doménovú autentifikáciu, zhodu adresy v poli From, reputáciu odosielania a to, či server správu odmietol alebo iba presunul do spamu. SMTP rieši spojenie medzi WordPressom a odosielacím serverom, nie celú reputáciu správy. Prijímateľ môže e-mail prijať a zaradiť do spamu, odmietnuť ho počas doručovania alebo ho neskôr presunúť do karantény.
Pre doménu odosielateľa skontrolujte SPF, DKIM a DMARC. SPF určuje, ktoré servery môžu odosielať za doménu, DKIM pridáva kryptografický podpis správy a DMARC pomáha prijímateľovi vyhodnotiť zhodu a postup pri neúspešnej autentifikácii. Konkrétne hodnoty nevkladajte naslepo — závisia od hostingu, e-mailovej služby a DNS poskytovateľa.
Adresa v poli From by mala byť zosúladená s doménou, ktorú používa SMTP účet a DNS autentifikácia. Google vo svojich pravidlách pre odosielateľov uvádza požiadavky na SPF alebo DKIM, TLS a pri väčšom objeme aj DMARC a zhodu domény v hlavičke From s autentifikovanou doménou.
Pri firemnom formulári si nechajte poslať test na Gmail aj na firemnú schránku. Ak sa správa vracia s chybou, vyžiadajte si záznam odmietnutia od poskytovateľa. Ak sa iba presúva do spamu, riešte hlavičky, autentifikáciu, obsah, reputáciu a nastavenie prijímacej schránky.
- Overte SPF, DKIM a DMARC podľa dokumentácie e-mailovej služby.
- Skontrolujte zhodu adresy v poli From s doménou SMTP účtu.
- Rozlíšte odmietnutie správy od presunutia do spamu.
- Otestujte viac prijímateľských služieb.
- Pri nejasnom výsledku si vyžiadajte hlavičky správy alebo chybový kód.
Do From použite adresu z vašej domény. Adresu človeka, ktorý vyplnil formulár, nastavte do Reply-To, ak to podporuje použitý doplnok.
Kedy je problém v hostingu, doplnku alebo v samotnom WordPresse?
Na hosting ukazuje zlyhanie všetkých odoslaní, na konflikt doplnku rozdiel medzi formulármi a na chybu WordPressu alebo témy problém po aktualizácii či zásahu do kódu. Hosting môže obmedzovať PHP mail, vyžadovať autentifikované odosielanie, blokovať neoverené adresy v poli From alebo nastavovať limity pre počet správ. Keďže pravidlá slovenských hostingov sa líšia, overte ich v zákazníckej podpore alebo dokumentácii konkrétneho poskytovateľa.
Konflikt doplnkov často spoznáte podľa toho, že problém vznikne po inštalácii, aktualizácii alebo zmene nastavení a týka sa iba určitej kombinácie formulára, ochrany proti spamu, vyrovnávacej pamäte alebo bezpečnostného doplnku. Najprv vytvorte zálohu a zapisujte si každú zmenu.
Deaktiváciu doplnkov nerobte bez plánu na produkčnom webe. Bezpečnejšie je testovať na testovacom prostredí, prípadne dočasne vypnúť iba podozrivé doplnky v čase s nízkou návštevnosťou a okamžite overiť formulár, prihlasovanie, vyrovnávaciu pamäť a ďalšie kritické funkcie.
Ak problém vznikol po aktualizácii, najprv skontrolujte kompatibilitu verzií a chybový záznam. Pri aktualizáciách WordPressu, PHP, témy alebo doplnkov používajte zálohu a testovacie prostredie; podrobnejší postup nájdete v návode ako aktualizovať WordPress bezpečne.
- Vytvorte aktuálnu zálohu súborov a databázy.
- Zapíšte si posledné aktualizácie a zmeny konfigurácie.
- Otestujte web na testovacom prostredí alebo v izolovanom prostredí.
- Deaktivujte iba podozrivý doplnok a po každej zmene vykonajte test.
- Po oprave skontrolujte formulár, ochranu proti spamu, vyrovnávaciu pamäť a ďalšie dôležité funkcie.
| Príznak | Pravdepodobné miesto | Bezpečný postup |
|---|---|---|
| Nefunguje žiadny e-mail | Hosting, PHP mail alebo SMTP | Overte limity, log a autentifikované odosielanie |
| Nefunguje iba jeden formulár | Konfigurácia alebo doplnok formulára | Porovnajte To, From, Reply-To a podmienky |
| Začalo to po aktualizácii | Konflikt verzií alebo chyba v kóde | Obnovte test zo zálohy a overte kompatibilitu |
| Chyba iba pri určitom poli | Validácia, antispam alebo vlastný skript | Skontrolujte konzolu, log a nastavenia poľa |
- Existuje záloha a viete ju obnoviť.
- Máte zapísané aktuálne verzie a posledné zmeny.
- Testujete mimo hlavnej návštevnosti alebo na stagingu.
- Po oprave overíte celý proces od formulára po doručenie.
Kedy opravu kontaktného formulára zvládnete sami a kedy zavolať odborníka?
Sami zvládnete kontrolu adries, spamu a základného testu; odbornú pomoc si pripravte pri zásahu do hostingu, DNS, kódu, bezpečnosti alebo pri opakovanom strácaní dopytov. Jednoduchá oprava zahŕňa kontrolu príjemcu, adresy v poli From, Reply-To, povinných polí, spamu a testovacej správy. Ak máte od poskytovateľa presné SMTP údaje a rozumiete práci s administráciou WordPressu, môžete nastaviť SMTP doplnok a následne overiť výsledok.
Zásah vyžadujúci prístup k hostingu alebo DNS zahŕňa kontrolu PHP mailu, serverových záznamov, SPF, DKIM, DMARC, TLS, limitov a prípadných blokácií. Pri nejasnej chybe v téme alebo vlastnom kóde je potrebné poznať PHP, WordPress hooky a spôsob, akým formulárový doplnok vytvára správu.
Pred odovzdaním problému odborníkovi pripravte URL formulára, názov a verziu formulárového doplnku, verziu WordPressu a PHP, čas posledného úspešného odoslania, presné chybové hlásenie, výsledok testu SMTP a informáciu, či správa skončila v spame alebo sa vrátila.
Ak formulár opakovane stráca dopyty, nestačí jednorazovo zmeniť adresu príjemcu. Potrebujete otestovať celý tok, zabezpečiť formulár proti spamu a nastaviť spôsob správy, aby sa problém dal neskôr znovu overiť. Pri dlhodobej údržbe môže pomôcť aj správa WordPress webu.
Pre majiteľa slovenskej firmy je dôležité spojiť technickú opravu s ochranou prihlasovacích údajov, pravidelnými aktualizáciami, ochranou proti spamu a správnym informovaním o spracúvaní osobných údajov. Formulár musí nielen odoslať správu, ale aj bezpečne spracovať údaje návštevníka.
- Základné nastavenia formulára a kontrolu spamu zvládnete sami.
- SMTP, DNS a hosting riešte podľa oficiálnych údajov poskytovateľa.
- Pri úprave kódu, záznamov alebo produkčného webu použite testovacie prostredie a zálohu.
- Odborníkovi odovzdajte výsledky testov, nie iba vetu „formulár nefunguje“.
- Jednoduché nastavenia viete overiť bez zásahu do kódu.
- Testovacia správa a spam často odhalia základnú chybu.
- DNS, hosting a logy vyžadujú prístupy a technické znalosti.
- Neopatrná zmena pluginov môže rozbiť produkčný web alebo zverejniť citlivé údaje.
Strácate dopyty aj po nastavení SMTP?
Najčastejšie sa problém opakuje vtedy, keď sa opraví iba formulár, ale neoverí sa hosting, DNS, doručenie a logy. Ak potrebujete prejsť celý tok správy bez zverejnenia hesiel a zbytočných zásahov do produkčného webu, môžete sa ozvať cez kontakt.