toutes les fiches

// comment corriger

Emails de formulaire de contact envoyés « From » l'adresse du visiteur

Un formulaire de site qui met l'email du visiteur dans le champ From échoue au SPF et à DMARC. Envoyez depuis votre propre adresse et mettez plutôt le visiteur dans Reply-To.

Ce que ça veut dire

Beaucoup de formulaires de contact, de réservation ou de demande de devis sont configurés pour vous envoyer un email qui semble venir du visiteur : si Anna remplit le formulaire avec anna@gmail.com, l'email arrive avec « From: anna@gmail.com ».

Mais l'email est en réalité envoyé par le serveur de votre site, pas par Gmail. Pour le serveur de réception, c'est exactement à ça que ressemble un faux email :

  • Le SPF échoue : votre serveur web n'a pas le droit d'envoyer pour gmail.com.
  • DKIM ne peut pas être signé pour gmail.com.
  • DMARC échoue, et gmail.com, yahoo.com ou outlook.com publient des politiques DMARC strictes, donc l'email est refusé ou envoyé en spam.

Pourquoi c'est important

  • Vous perdez de vrais messages de clients sans le savoir.
  • La réputation de votre serveur web baisse, parce qu'il envoie sans arrêt des emails qui ont l'air falsifiés.
  • Les réponses automatiques envoyées « de la part » des visiteurs peuvent même être détournées pour envoyer du spam via votre formulaire.

Comment vérifier

Delivmail le vérifie pour vous de deux façons :

  • Envoyez un email de test : sur la page d'accueil (/), copiez votre adresse de test unique, envoyez-lui un email normal depuis la boîte que vous voulez vérifier, puis ouvrez le rapport. Ici, envoyez l'email via votre formulaire : mettez votre adresse de test Delivmail comme destinataire dans les réglages du formulaire, ou temporairement comme adresse de notification. Le rapport affiche le domaine From et indique si SPF, DKIM et DMARC passent pour lui.
  • Utilisez le scanner de domaine : saisissez votre domaine sur /domain-scanner pour vérifier l'enregistrement SPF dans lequel le serveur d'envoi de votre site doit figurer.

Comment corriger

La règle

L'adresse From doit toujours être la vôtre. L'adresse du visiteur va dans Reply-To. Quand vous cliquez sur « Répondre », votre logiciel de messagerie répond automatiquement au visiteur.

From: Website <forms@yourdomain.com>
Reply-To: anna@gmail.com
Subject: New contact request from Anna

Étapes

  1. Ouvrez les réglages de votre formulaire. Dans les extensions WordPress (Contact Form 7, WPForms, Gravity Forms…), cherchez « Mail » ou « Notifications ». Dans du code sur mesure, cherchez la ligne qui définit l'en-tête From.
  2. Réglez From sur une adresse de votre domaine, comme forms@yourdomain.com ou noreply@yourdomain.com.
  3. Réglez Reply-To sur le champ email du formulaire. La plupart des extensions proposent une balise comme [your-email] ou {field:email}.
  4. Envoyez via un serveur authentifié. Le mieux est le SMTP de votre vrai fournisseur de messagerie ou d'un service d'emails transactionnels, avec SPF et DKIM configurés pour votre domaine. Un simple mail() PHP sur un hébergement mutualisé n'a souvent ni l'un ni l'autre.
  5. N'envoyez pas d'email de confirmation à n'importe quelle adresse saisie par un visiteur sans protection (captcha, limite de fréquence), sinon les spammeurs utiliseront votre formulaire pour contacter d'autres personnes.

Vérifiez que c'est corrigé

Remplissez votre formulaire avec votre adresse de test Delivmail comme destination. Le rapport doit afficher votre propre domaine dans From, avec SPF, DKIM et DMARC validés. Cliquez ensuite sur « Répondre » sur un vrai email du formulaire pour confirmer que la réponse part bien vers le visiteur.

Vérifiez que c'est corrigé

Une modification DNS peut prendre de quelques minutes à quelques heures. Ensuite, envoyez un nouvel email de test ou scannez à nouveau votre domaine.

Fiches liées