Un formulaire de contact sur votre site web : recevoir les champs par e-mail et éviter le spam
Vous souhaitez que les visiteurs puissent vous envoyer un e-mail 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 les e-mails arrivent bien à destination.
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 personnalisé : recherchez « créer un formulaire HTML » pour trouver des exemples gratuits. Faites envoyer le formulaire via SMTP, et non via la fonction PHP mail() (voir ci-dessous).
Éviter le spam via votre formulaire
Un formulaire non protégé sera presque certainement repéré par des robots spammeurs. Vous recevrez alors beaucoup de spam et, dans le pire des cas, votre formulaire sera détourné 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 distincte, par exemple Simple Cloudflare Turnstile.
- Honeypot : un champ masqué que les humains ne voient pas, mais que les robots remplissent. Si ce champ est rempli, le message n'est pas envoyé. Il existe aussi de petites extensions pour cela.
- Forums et blogs : de nombreux logiciels de forum et de blog proposent une intégration avec Stop Forum Spam. Ce service tient à jour une liste d'adresses IP qui envoient du spam et bloque les messages provenant de ces adresses.
- Maintenez 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équente pour les abus.
Commentaires sur votre blog ou votre forum
Les robots spammeurs ne publient pas seulement des messages via les formulaires, mais aussi des commentaires contenant des liens, dans l'espoir que les moteurs de recherche prennent ces liens en compte. Voici comment l'éviter :
- Faites d'abord approuver les commentaires. Dans WordPress, sous Réglages › Discussion, activez l'option indiquant qu'un commentaire doit être approuvé manuellement. Si vous n'utilisez pas les commentaires, désactivez-les complètement.
- Utilisez une extension antispam ou un captcha pour les commentaires, comme pour votre formulaire.
- Balisez les liens dans les commentaires. Les liens publiés par les visiteurs doivent comporter
rel="ugc"ourel="nofollow". Les moteurs de recherche savent ainsi que vous ne cautionnez pas ce lien. WordPress le fait automatiquement depuis la version 5.3. Pour les autres logiciels, consultez les paramètres ou utilisez une extension.
Faire en sorte que les e-mails de votre formulaire arrivent bien
- Envoyez via SMTP. Avec mail() en PHP, l'expéditeur devient une adresse portant le nom de compte de votre hébergement, et vous ne pouvez pas la modifier. Ces e-mails finissent souvent dans les spams. Via SMTP, vous vous connectez avec une véritable boîte mail et vous choisissez vous-même l'expéditeur. Dans WordPress, utilisez pour cela une extension SMTP, comme WP Mail SMTP. Pour un script PHP personnalisé, consultez Comment obtenir le bon expéditeur avec mail() en PHP ?.
- Un expéditeur sur votre propre domaine. Faites envoyer le formulaire 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 refuseraient alors l'e-mail. Indiquez l'adresse du visiteur dans le champ Répondre à (Reply-To), vous pourrez ainsi répondre simplement au message.
- Les paramètres SMTP : le nom du serveur de votre hébergement, 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. Consultez Tous les paramètres en un coup d'œil.
Votre formulaire est-il déjà détourné ?
Vous recevez de nombreux e-mails en retour que vous n'avez pas envoyés, ou le serveur indique que votre limite d'envoi est atteinte ? Votre formulaire est alors peut-être détourné. Consultez Que faire si votre adresse e-mail a été utilisée de manière abusive et Limites d'envoi et le message 'message limit reached'.
Envie d'en savoir plus ? Suivez le cours WordPress gratuit, leçon 9.1 Envoyer des e-mails depuis WordPress.
