Kontaktní formulář na Vašem webu: jak nechat odesílat údaje z polí e-mailem a předcházet spamu
Chcete, aby Vás mohli návštěvníci kontaktovat prostřednictvím formuláře na Vašich webových stránkách? V tomto článku se dozvíte, jak takový formulář vytvořit, jak jej chránit proti spamu a jak zajistit, aby e-mail správně dorazil.
Vytvoření formuláře
- WordPress: použijte plugin pro formuláře, například Contact Form 7. Nic nemusíte sami programovat. Placený plugin není potřeba.
- Vlastní HTML nebo PHP web: vyhledejte si "vytvoření HTML formuláře" pro bezplatné příklady. Formulář nechte odesílat přes SMTP, ne přes PHP funkci mail() (viz níže).
Jak zabránit spamu přes formulář
Formulář bez zabezpečení téměř jistě najdou spamboti. Pak budete dostávat spoustu spamu a v nejhorším případě může být Váš formulář zneužit k rozesílání spamu ostatním. Formulář proto vždy chraňte:
- Captcha: kontrola, která rozlišuje lidi od robotů, například Google reCAPTCHA nebo Cloudflare Turnstile. Contact Form 7 funguje s reCAPTCHA. Pro Turnstile nainstalujte samostatný plugin, například Simple Cloudflare Turnstile.
- Honeypot: skryté pole, které lidé nevidí, ale roboti ho vyplní. Pokud je pole vyplněné, zpráva se neodešle. I pro toto existují malé pluginy.
- Fóra a blogy: pro mnoho fórových a blogových systémů existuje propojení se službou Stop Forum Spam. Ta vede seznam IP adres, které rozesílají spam, a odmítá zprávy z těchto adres.
- Udržujte web aktuální: pravidelně aktualizujte WordPress, Vaše téma a pluginy. Zastaralý plugin je často využívanou cestou pro zneužití.
Jak zajistit, aby e-mail z formuláře správně dorazil
- Odesílejte přes SMTP. Při použití mail() v PHP se odesílatelem stane adresa s názvem účtu Vašeho balíčku, kterou nelze upravit. Taková pošta často skončí ve spamu. Přes SMTP se přihlásíte do skutečné e-mailové schránky a sami určíte odesílatele. Ve WordPressu k tomu použijte SMTP plugin, například WP Mail SMTP. Pro vlastní PHP skript si přečtěte Hoe kan ik in PHP met mail() de juiste afzender krijgen?.
- Odesílatel na Vaší vlastní doméně. Nechte formulář odesílat poštu z adresy na Vaší vlastní doméně, například info@vasedomena.cz. Nikdy nepoužívejte jako odesílatele e-mailovou adresu návštěvníka: mnoho příjemců takovou poštu odmítne. Adresu návštěvníka zadejte do pole Odpovědět na (Reply-To), pak budete moci na zprávu normálně odpovědět.
- Údaje pro SMTP: název serveru Vašeho balíčku, port 587 se STARTTLS nebo port 465 se SSL/TLS, a e-mailová adresa a heslo schránky. Viz Alle instellingen op een rij.
Je Váš formulář již zneužíván?
Dostáváte zpět hodně e-mailů, které jste neodeslal/a, nebo server hlásí, že byl dosažen limit odesílání? Pak je možné, že je Váš formulář zneužíván. Přečtěte si Co dělat, když je Váš e-mailový adres zneužit a Limity pro odesílání pošty a hlášení 'message limit reached'.
