Praktický návod, jak postupně zkontrolovat kontaktní formulář, WordPress, hosting, SMTP, spam, DNS a doručování e-mailů.
Formulář na webu může vypadat funkčně, ale e-maily se přesto nemusí doručovat. Problém často není v samotném formuláři, ale v nastavení odesílání, hostingu, SMTP, e-mailové schránce, DNS záznamech nebo spamové ochraně. Klienti většinou zjistí chybu až ve chvíli, kdy si všimnou, že nepřicházejí poptávky. Proto je potřeba formulář netestovat jen vizuálně, ale projít celou cestu od kliknutí na tlačítko až po doručení zprávy do schránky.
Formulář se neodešle vůbec
Pokud formulář po kliknutí na tlačítko neudělá nic, problém je pravděpodobně přímo na stránce. Může jít o chybu ve formuláři, konflikt pluginů, nefunkční JavaScript, špatně nastavenou validaci nebo blokování bezpečnostním prvkem.
Typické projevy:
- tlačítko nereaguje,
- formulář se načítá donekonečna,
- objeví se obecná chyba,
- stránka po odeslání spadne,
- pole se zvýrazní, ale není jasné proč,
- formulář nefunguje jen na mobilu,
- formulář nefunguje jen v některém prohlížeči.
Nejdřív je potřeba zkontrolovat, jestli jsou správně nastavená povinná pole, e-mailové pole, souhlas se zpracováním údajů a antispamová ochrana. U WordPressu se často vyplatí dočasně vypnout cache, zkontrolovat konzoli prohlížeče a ověřit, jestli formulářový plugin není v konfliktu s jiným pluginem.
| Možná příčina | Co zkontrolovat |
|---|---|
| chyba ve formuláři | povinná pole, validace, nastavení odeslání |
| konflikt pluginů | formulář po aktualizaci přestal fungovat |
| cache | formulář používá starou nebo rozbitou verzi skriptu |
| reCAPTCHA / antispam | špatně nastavené klíče nebo blokace |
| JavaScript chyba | tlačítko nereaguje nebo se formulář neodešle |
| mobilní verze | formulář se špatně ovládá nebo nezobrazuje |
Pokud se formulář neodešle vůbec, nemá smysl hned řešit spam nebo DNS. E-mail se v takovém případě často ani nevytvoří.
Formulář se odešle, ale e-mail nedorazí
Pokud web zobrazí potvrzení o odeslání, ale e-mail nedorazí, problém je pravděpodobně v doručování. Formulář může data správně přijmout, ale server nedokáže e-mail spolehlivě odeslat nebo cílová schránka zprávu odmítne.
Tady je důležité rozlišit dvě věci:
| Stav | Co to znamená |
|---|---|
| formulář se neodešle | problém je na úrovni webu nebo formuláře |
| formulář se odešle, ale e-mail nepřijde | problém je v odesílání nebo doručování |
U WordPress webů se e-maily často odesílají přes funkci serveru, která nemusí být spolehlivá. Některé hostingy ji omezují, některé zprávy projdou jen někdy a některé e-mailové služby je rovnou označí jako nedůvěryhodné.
Typické příčiny:
- web odesílá e-mail bez SMTP,
- adresa odesílatele neodpovídá doméně,
- chybí SPF, DKIM nebo DMARC,
- hosting omezuje odesílání,
- zprávy padají do spamu,
- příjemce zprávy odmítá,
- formulář má špatně nastavené pole „From“,
- schránka je plná nebo neexistuje.
V této fázi je dobré otestovat formulář na více e-mailových adres. Pokud zpráva dorazí na Gmail, ale ne na firemní e-mail, problém může být na straně cílové schránky nebo DNS. Pokud nedorazí nikam, problém bude spíš v odesílání z webu.
Nejčastější chyba ve WordPressu: chybí SMTP
U WordPress webů je nejčastější problém chybějící nebo špatně nastavené SMTP. Web se snaží odesílat e-maily přímo ze serveru, ale příjemce jim nemusí věřit.
SMTP znamená, že web odesílá zprávy přes ověřenou e-mailovou schránku nebo e-mailovou službu. Díky tomu má zpráva větší šanci projít přes spamové filtry.
Bez SMTP se může stát, že:
- e-maily nedorazí vůbec,
- dorazí jen některým příjemcům,
- padají do spamu,
- jsou označené jako podezřelé,
- formulář funguje nepravidelně,
- po změně hostingu přestane doručování fungovat.
U WordPressu se SMTP obvykle řeší pomocí pluginu a napojení na e-mailovou schránku nebo externí službu. Nestačí plugin jen nainstalovat. Musí se správně nastavit server, port, šifrování, přihlašovací údaje a odesílací adresa.
| Nastavení | Co musí sedět |
|---|---|
| SMTP server | podle poskytovatele e-mailu |
| port | typicky podle šifrování |
| šifrování | SSL nebo TLS podle služby |
| uživatelské jméno | často celá e-mailová adresa |
| heslo | běžné heslo nebo aplikační heslo |
| odesílatel | adresa na stejné doméně jako web |
| testovací e-mail | musí reálně dorazit |
Pokud web běží na WordPressu a formulář je důležitý pro poptávky, SMTP by nemělo být volitelný doplněk. Je to základní technické nastavení.
Pokud si nejste jistí nastavením SMTP, může pomoct technická podpora a úpravy webu, protože chyba často není vidět přímo v administraci formuláře.
Špatně nastavený odesílatel
Častá chyba je špatné pole „From“ ve formuláři. Formulář se snaží odeslat e-mail jako zákazník, například klient@gmail.com, i když web běží na jiné doméně. To může vypadat logicky, ale pro doručování je to problém.
Správnější nastavení bývá:
| Pole | Doporučené nastavení |
|---|---|
| From / Odesílatel | e-mail na vlastní doméně, například web@mojedomena.cz |
| To / Příjemce | vaše cílová schránka, například info@mojedomena.cz |
| Reply-To | e-mail vyplněný návštěvníkem |
| Subject | jasný předmět, například „Nová poptávka z webu“ |
Formulář by neměl předstírat, že e-mail odeslal návštěvník ze své osobní adresy. Web má zprávu odeslat ze své vlastní domény a e-mail návštěvníka použít pro odpověď.
Špatně:
From: klient@gmail.com
Lépe:
From: web@mojedomena.cz
Reply-To: klient@gmail.com
Tato drobnost často rozhoduje o tom, jestli zpráva dorazí, nebo skončí jako podezřelá.
E-maily padají do spamu
Pokud e-maily z formuláře padají do spamu, formulář technicky funguje, ale doručování není důvěryhodné. Spamové filtry hodnotí odesílatele, doménu, obsah zprávy, odkazy, technické záznamy i chování serveru.
Časté důvody:
- chybí SMTP,
- chybí SPF záznam,
- chybí DKIM podpis,
- chybí DMARC politika,
- odesílací adresa neodpovídá doméně,
- zpráva má podezřelý obsah,
- v e-mailu je příliš mnoho odkazů,
- server má špatnou reputaci,
- příjemce má přísné spamové filtry.
U formulářů se často řeší jen to, jestli zpráva „někam dorazila“. To nestačí. Je potřeba zkontrolovat i spam, hromadnou poštu, karanténu a logy e-mailové služby.
| Problém | Dopad |
|---|---|
| chybí SPF | příjemce neví, jestli server smí posílat za doménu |
| chybí DKIM | zpráva není podepsaná doménou |
| chybí DMARC | není jasné, co dělat s podezřelou zprávou |
| špatný From | zpráva vypadá jako podvrh |
| podezřelý obsah | vyšší riziko spamu |
SPF, DKIM a DMARC nejsou marketingové detaily. Jsou to technické záznamy, které pomáhají e-mailovým službám vyhodnotit, jestli je zpráva důvěryhodná.
Problém může být v DNS záznamech
DNS záznamy určují, jak doména pracuje s webem a e-mailem. Pokud jsou špatně nastavené, web může fungovat, ale e-mailové doručování může selhávat.
U formulářů se nejčastěji kontroluje:
- SPF,
- DKIM,
- DMARC,
- MX záznamy,
- případně CNAME nebo TXT záznamy podle e-mailové služby.
Typická situace: web běží na jednom hostingu, e-mail na Google Workspace nebo Microsoft 365 a doména u jiného registrátora. Pokud se DNS nastaví jen částečně, web může být online, ale e-maily z formuláře se budou chovat nespolehlivě.
| Záznam | K čemu slouží |
|---|---|
| MX | určuje, kam chodí e-maily pro doménu |
| SPF | říká, které servery smí odesílat za doménu |
| DKIM | podepisuje zprávu a potvrzuje její původ |
| DMARC | určuje pravidla pro podezřelé zprávy |
| CNAME / TXT | používají se pro ověření služeb a napojení |
DNS není vhodné nastavovat naslepo. Špatná úprava může rozbít e-mail, web nebo obojí. Před změnami je potřeba vědět, kde běží web, kde je e-mail a kdo spravuje doménu.
Hosting může odesílání blokovat nebo omezovat
Některé hostingy omezují odesílání e-mailů z webu kvůli spamu a bezpečnosti. To je běžné. Pro kontaktní formulář to ale znamená, že bez správného nastavení nemusí zprávy odcházet spolehlivě.
Hosting může omezovat:
- počet e-mailů za hodinu,
- odesílání přes PHP mail,
- odesílání z neověřené adresy,
- podezřelé přílohy,
- hromadné zprávy,
- formuláře bez antispamu.
Pro běžný kontaktní formulář by limit většinou neměl být problém. Problém vzniká, když web odesílá zprávy špatným způsobem nebo když formulář začne zneužívat spamový robot.
Pokud hosting hlásí chyby odesílání, je potřeba zkontrolovat logy, SMTP a zabezpečení formuláře. Nestačí jen změnit e-mail příjemce.
Formulář blokuje antispam nebo bezpečnostní plugin
Někdy formulář neodesílá e-maily proto, že je blokovaný antispamem, reCAPTCHA, bezpečnostním pluginem nebo firewallem. Web se chrání před spamem, ale zároveň omylem blokuje reálné návštěvníky.
Typické projevy:
- formulář nejde odeslat,
- stále hlásí chybu ověření,
- nefunguje jen na mobilu,
- nefunguje jen některým lidem,
- zpráva se neuloží ani neodešle,
- po kliknutí se objeví chyba bezpečnosti.
Zkontrolovat má smysl:
- reCAPTCHA klíče,
- typ reCAPTCHA,
- nastavení formulářového pluginu,
- bezpečnostní plugin,
- firewall na hostingu,
- blokované země nebo IP adresy,
- cache a minifikaci skriptů.
Antispam je nutný, ale nesmí zničit použitelnost formuláře. Pokud je ochrana příliš agresivní, může blokovat i skutečné poptávky.
Chybí uložení zpráv do administrace
Další problém je, že web zprávy nikam neukládá. Pokud se e-mail nedoručí, poptávka je ztracená. To je zbytečné riziko.
U důležitých poptávkových formulářů je vhodné, aby se zprávy ukládaly také do administrace webu nebo do externí služby. E-mail pak není jediná kopie.
| Varianta | Výhoda |
|---|---|
| pouze e-mail | jednoduché, ale rizikové |
| e-mail + uložení ve WordPressu | lepší kontrola ztracených zpráv |
| e-mail + CRM | vhodné pro větší objem poptávek |
| e-mail + automatické potvrzení klientovi | návštěvník ví, že zpráva odešla |
Pokud se formulář používá pro obchodní poptávky, ztracené zprávy mohou znamenat reálnou ztrátu zakázek. Uložení zpráv je jednoduchá pojistka.
Automatická odpověď zákazníkovi nechodí
Formulář může posílat zprávu vám, ale automatická odpověď zákazníkovi nemusí chodit. I to je problém, protože návštěvník neví, jestli se jeho zpráva odeslala.
Automatická odpověď by měla být jednoduchá:
- potvrdit přijetí zprávy,
- říct, kdy může čekat odpověď,
- uvést kontaktní e-mail,
- nepůsobit jako spam,
- neobsahovat příliš mnoho odkazů.
Příklad:
„Děkuji za zprávu. Poptávku jsem přijala a ozvu se vám co nejdříve. Pokud chcete něco doplnit, můžete odpovědět přímo na tento e-mail.“
U automatických odpovědí je potřeba hlídat stejné věci jako u běžného formuláře: SMTP, From, Reply-To, SPF, DKIM a spam.
Jak formulář správně otestovat
Formulář nestačí otestovat jedním kliknutím. Je potřeba ověřit celou cestu zprávy.
Základní test:
- Odeslat formulář z počítače.
- Odeslat formulář z mobilu.
- Otestovat více e-mailových adres.
- Zkontrolovat spam a hromadnou poštu.
- Ověřit, jestli dorazí zpráva správci webu.
- Ověřit, jestli dorazí potvrzení zákazníkovi.
- Zkontrolovat, jestli se zpráva ukládá v administraci.
- Zkontrolovat, jestli funguje Reply-To.
- Ověřit, že zpráva obsahuje všechna pole.
- Zkontrolovat logy SMTP nebo formuláře.
Testovací zpráva by neměla být jen „test“. Lepší je vyplnit formulář podobně jako reálný klient: jméno, e-mail, telefon, konkrétní popis a případně odkaz.
Pokud test projde na jedné adrese, ještě to neznamená, že je všechno v pořádku. Doručování se může lišit podle příjemce.
Diagnostická tabulka
Při hledání chyby je důležité postupovat podle příznaku. Jinak se zbytečně řeší DNS, když problém je ve formuláři, nebo se mění plugin, když problém je v e-mailové schránce.
| Příznak | Pravděpodobná příčina | Co zkontrolovat |
|---|---|---|
| formulář nereaguje | JavaScript, plugin, cache | konzole, cache, konflikty pluginů |
| formulář hlásí chybu | validace, reCAPTCHA, antispam | povinná pole, klíče reCAPTCHA |
| potvrzení se zobrazí, ale e-mail nepřijde | doručování | SMTP, spam, logy |
| e-mail padá do spamu | slabá důvěryhodnost zprávy | SPF, DKIM, DMARC, From |
| dorazí jen na některé adresy | filtr příjemce | test více schránek |
| nejde odpovědět klientovi | špatné Reply-To | nastavení hlaviček e-mailu |
| zpráva neobsahuje všechna pole | šablona e-mailu | nastavení těla zprávy |
| formulář funguje jen někdy | hosting, limity, spam | logy, SMTP, bezpečnost |
| nechodí potvrzení klientovi | druhá e-mailová šablona | automatická odpověď |
| po aktualizaci přestal fungovat | konflikt verze pluginů | aktualizace, kompatibilita |
Tato tabulka neřeší všechny možné případy, ale pomáhá zúžit problém. Bez toho se diagnostika mění v hádání.
Kdy problém neřešit jen výměnou pluginu
Výměna formulářového pluginu není vždy správné řešení. Pokud je problém v SMTP, DNS, odesílací adrese nebo spamu, nový plugin bude mít stejný problém.
Plugin má smysl měnit, pokud:
- současný plugin není aktualizovaný,
- má technické chyby,
- neukládá zprávy,
- špatně se nastavuje,
- neumožňuje správné Reply-To,
- nefunguje s aktuální verzí WordPressu,
- způsobuje konflikty.
Plugin nemá smysl měnit, pokud:
- chybí SMTP,
- je špatně nastavené DNS,
- e-maily blokuje hosting,
- zprávy padají do spamu,
- schránka příjemce odmítá zprávy,
- problém je v cache nebo bezpečnostním pluginu.
Nejdřív se musí určit příčina. Teprve potom má smysl měnit nástroj.
Závěr
Formulář nemusí odesílat e-maily kvůli chybě ve formuláři, WordPressu, SMTP, hostingu, DNS, spamové ochraně nebo cílové schránce. Proto nestačí zkontrolovat jen to, jestli je formulář vidět na stránce.
Nejčastější chyba je spoléhat na to, že formulář funguje, protože po odeslání ukáže zelené potvrzení. To ale neznamená, že e-mail skutečně dorazil a že na něj můžete odpovědět.
Pokud formulář neodesílá e-maily nebo si nejste jistí, jestli poptávky opravdu chodí, pošlete odkaz na web přes nezávaznou poptávku. Dá se zkontrolovat formulář, SMTP, spam, DNS záznamy, mobilní verze i technické nastavení webu.