Un formulaire de contact sur votre site web : recevoir les champs par e-mail et éviter le spam
Souhaitez-vous que les visiteurs puissent vous contacter via un formulaire sur votre site web ? Dans cet article, vous découvrirez comment créer un tel formulaire, comment le protéger contre le spam et comment faire en sorte que le message arrive correctement.
Créer un formulaire
- WordPress : utilisez une extension de formulaire, comme Contact Form 7. Vous n'avez rien à programmer vous-même. Une extension payante n'est pas nécessaire.
- Site HTML ou PHP personnel : recherchez "créer un formulaire HTML" pour des exemples gratuits. Faites envoyer le formulaire via SMTP, et non via la fonction PHP mail() (voir ci-dessous).
Prévenir le spam via votre formulaire
Un formulaire sans protection sera presque certainement repéré par des robots spammeurs. Vous recevrez alors beaucoup de spam, et dans le pire des cas, votre formulaire sera utilisé pour envoyer du spam à d'autres personnes. Protégez donc toujours votre formulaire :
- Captcha : un contrôle qui distingue les humains des robots, comme Google reCAPTCHA ou Cloudflare Turnstile. Contact Form 7 fonctionne avec reCAPTCHA. Pour Turnstile, installez une extension séparée, par exemple Simple Cloudflare Turnstile.
- Honeypot : un champ caché que les humains ne voient pas, mais que les robots remplissent. Si le champ est rempli, le message n'est pas envoyé. Il existe également de petites extensions pour cela.
- Forums et blogs : pour de nombreux logiciels de forum et de blog, il existe une intégration avec Stop Forum Spam. Celle-ci tient à jour une liste d'adresses IP qui envoient du spam et bloque les messages provenant de ces adresses.
- Tenez votre site web à jour : mettez régulièrement à jour WordPress, votre thème et vos extensions. Une extension obsolète est une porte d'entrée fréquemment utilisée pour les abus.
Faire en sorte que le message de votre formulaire arrive correctement
- Envoyez via SMTP. Avec mail() en PHP, l'expéditeur devient une adresse avec le nom de compte de votre pack, et vous ne pouvez pas la modifier. Ce type de message se retrouve souvent dans les spams. Via SMTP, vous vous connectez avec une véritable boîte mail et vous déterminez vous-même l'expéditeur. Dans WordPress, utilisez pour cela une extension SMTP, comme WP Mail SMTP. Pour un script PHP personnel, consultez Hoe kan ik in PHP met mail() de juiste afzender krijgen?.
- Expéditeur sur votre propre domaine. Faites en sorte que le formulaire envoie les messages depuis une adresse de votre propre domaine, par exemple info@votredomaine.nl. N'utilisez jamais l'adresse e-mail du visiteur comme expéditeur : de nombreux destinataires refusent alors le message. Placez l'adresse du visiteur dans le champ Répondre à (Reply-To), vous pourrez ainsi répondre directement au message.
- Les paramètres pour SMTP : le nom du serveur de votre pack, le port 587 avec STARTTLS ou le port 465 avec SSL/TLS, ainsi que l'adresse e-mail et le mot de passe de la boîte mail. Voir Alle instellingen op een rij.
Votre formulaire est-il déjà détourné ?
Recevez-vous beaucoup de messages en retour que vous n'avez pas envoyés, ou le serveur signale-t-il que votre limite d'envoi est atteinte ? Votre formulaire est peut-être détourné. Consultez Que faire en cas d'utilisation abusive de votre adresse e-mail et Limites d'envoi et le message « message limit reached ».
