Kontaktní formulář jsou políčka na webu, přes která Vám návštěvník pošle zprávu, aniž by musel otevírat vlastní poštu. Vyplní jméno, e-mail a text, klikne na odeslat a zpráva Vám přijde do schránky. Pro návštěvníka je to jednodušší než opisovat adresu, pro Vás to znamená, že rovnou dostanete i údaje, které potřebujete – třeba telefon nebo číslo objednávky.
Co se ve skutečnosti stane po kliknutí: prohlížeč pošle vyplněná data na server, tam je převezme skript v PHP, sestaví z nich e-mail a předá ho poštovnímu serveru přes protokol SMTP. Formulář tedy není nic jiného než pohodlnější způsob, jak Vám poslat mail. Z toho plyne nejčastější potíž: zprávy se ztrácejí nebo končí ve spamu.
Aby pošta z formuláře spolehlivě chodila, hlídejte tohle:
- Odesílatel musí být Vaše adresa – tedy schránka na Vaší doméně, ne adresa návštěvníka. Ta patří do políčka pro odpověď.
- Odesílejte přes SMTP se jménem a heslem, ne jen funkcí, která poštu předá naslepo. Doručitelnost je pak nesrovnatelně lepší.
- Mějte v pořádku záznamy SPF a DKIM u domény, jinak Vaši zprávu antispamové filtry odmítnou.
- Nespoléhejte jen na e-mail – ať se odeslané zprávy ukládají i do databáze webu. Když mail vypadne, zpráva se neztratí.
Druhá věc je ochrana proti robotům. Formulář, který nechá odeslat cokoli, si během pár dní najdou automatické skripty a začnou Vám chodit desítky reklamních zpráv denně. Pomáhá skryté políčko, které člověk nevyplní a robot ano, jednoduchá otázka, ověřovací prvek typu captcha nebo omezení počtu odeslání z jedné adresy. Zároveň se všechna vyplněná data musí na serveru zkontrolovat, jinak si koledujete o zneužití – k tomu viz validace a XSS.
Nezapomeňte na povinnosti. Jakmile ve formuláři sbíráte jméno, e-mail nebo telefon, zpracováváte osobní údaje a platí pro Vás GDPR: musíte u formuláře srozumitelně uvést, kdo údaje zpracovává a k čemu, nesbírat víc, než potřebujete, a nedržet zprávy věčně. Přihlášení k odběru novinek je samostatný účel a chce vlastní zaškrtávátko, viz newsletter.
Sami formulář stavět nemusíte. Ve WordPressu ho vyřeší běžně dostupný doplněk, kde vše naklikáte. Schránku, ze které se bude odesílat, si založíte v klientské zóně a její údaje do doplňku jen opíšete.