L'email de réinitialisation de mot de passe est l'un des plus critiques qu'une application puisse envoyer. Un utilisateur qui ne le reçoit pas ne peut pas accéder à son compte. Pas de second chance, pas de rappel ultérieur — c'est un blocker immédiat. Or, ces emails arrivent très souvent en dossier Spam, même chez les grands fournisseurs comme Gmail, Outlook ou Orange.
La bonne nouvelle : les causes sont presque toujours les mêmes, et elles sont corrigeables en quelques étapes. Ce guide parcourt les pièges courants, la checklist d'authentification, et comment tester rapidement votre délivrabilité avec un outil gratuit.
Pourquoi l'email de réinitialisation arrive en spam
Les fournisseurs de messagerie (Gmail, Yahoo, Outlook, Orange, Free, etc.) appliquent une stratégie stricte aux emails transactionnels : ils reconnaissent l'adresse From du serveur et la comparent aux enregistrements de sécurité du domaine (SPF, DKIM, DMARC). Si l'authentification échoue, l'email est marqué comme potentiellement malveillant et jeté en Spam.
Les causes les plus fréquentes :
- SPF manquant ou incorrect. Le serveur qui envoie l'email n'est pas autorisé par l'enregistrement SPF du domaine From.
- DKIM non signé. L'email n'est pas signé avec la clé DKIM du domaine ; les filtres ne peuvent pas vérifier son authenticité.
- DMARC p=reject ou p=quarantine mal configuré. La politique DMARC est trop stricte et rejette les emails qui échouent les tests.
- Domaine From différent du domaine de retour (MFROM). Le serveur SMTP envoie avec une adresse de retour dont le domaine ne correspond pas à celui de l'en-tête From.
- Contenu suspect. Même avec une bonne authentification, certains mots-clés ou liens peuvent déclencher les filtres bayésiens.
- Réputation de l'IP. Si le serveur SMTP sort d'une IP inscrite sur une liste noire, les emails sont directement rejetés ou filtrés.
Checklist d'authentification en 5 minutes
Avant de vous lancer dans un diagnostic complet, vérifiez ces quatre éléments clés. Cela vous prendra moins de 5 minutes et résout 80 % des problèmes.
- Enregistrement SPF du domaine. Dans la console DNS de votre registrar (GoDaddy, Namecheap, OVH, etc.), cherchez le TXT record pour votre domaine. Il doit commencer par
v=spf1et inclure l'IP ou le domaine de votre serveur SMTP.
Exemple :v=spf1 include:_spf.google.com include:sendgrid.net ~all - Enregistrement DKIM. Vérifiez que vous disposez d'une paire de clés DKIM et que la clé publique est publiée dans un TXT record DNS. La clé est généralement nommée
default._domainkey.votredomaine.fr. - Enregistrement DMARC. Cherchez un TXT record à
_dmarc.votredomaine.fr. Au minimum, il doit contenir une politique :v=DMARC1; p=none; rua=mailto:rapport@votredomaine.fr - Configuration SMTP. Assurez-vous que votre serveur d'application (ou votre service d'email) envoie avec le bon domaine From et signe les emails en DKIM. Consultez la documentation de votre ESP (Brevo, Mailjet, AWS SES, etc.).
Configurer le domaine From et le serveur SMTP
L'email de réinitialisation doit partir d'une adresse du type noreply@votredomaine.fr ou support@votredomaine.fr — un domaine que vous possédez et pour lequel vous avez configuré SPF, DKIM et DMARC.
Si vous utilisez un service transactionnel (Brevo, Mailjet, AWS SES, SendGrid, etc.), le processus est généralement :
- Ajouter votre domaine dans la console du service.
- Copier les enregistrements DNS fournis (SPF, DKIM, DMARC) dans votre zone DNS.
- Attendre quelques minutes à quelques heures que la propagation DNS s'effectue.
- Vérifier que le service confirme l'authentification du domaine.
- Utiliser ce domaine comme adresse From dans votre code.
Piège courant : Ne pas laisser le service modifier vos enregistrements SPF ou DKIM de façon cohérente, ou les modifier manuellement de façon contradictoire. Si vous avez plusieurs services d'email (Brevo pour les newsletters, Mailjet pour les transactionnels), les enregistrements SPF doivent tous les inclure. Utilisez des directives include: : v=spf1 include:brevo include:mailjet ~all
Vérifier la délivrabilité en temps réel
Une fois vos enregistrements DNS configurés, testez avec un outil qui simule l'arrivée réelle chez les fournisseurs. C'est l'étape cruciale que beaucoup sautent à leurs dépens.
check.live envoie votre email de test à des boîtes mail réelles (seeds) chez Orange, Free, SFR, La Poste, Gmail, Outlook, Yahoo, iCloud et d'autres. Vous voyez immédiatement :
- Le dossier où l'email atterrit (Inbox, Spam, Promotions, Autres, etc.).
- Le verdict de chaque filtre antispam.
- Les problèmes SPF/DKIM/DMARC détectés.
- Un screenshot du rendu réel en light et dark mode.
C'est l'équivalent du mail-tester.com classique, mais avec des vraies screenshots de vrais boxes mail, ce qui vous donne bien plus d'informations sur ce que verra réellement votre utilisateur.
Paramètres SMTP et délai d'expiration du lien
Au-delà de l'authentification, vérifiez aussi ces éléments :
- Délai d'expiration du lien. Les liens de réinitialisation doivent expirer dans les 24 à 48 heures. Si l'utilisateur reçoit l'email après ce délai (même s'il était en Spam), le lien est mort. Considérez un délai légèrement plus long (72 heures) pour compenser les retards de livraison.
- Resend automatique. Offrez un bouton « Renvoyer l'email de réinitialisation » si l'utilisateur ne l'a pas reçu. C'est un bon signal UX que quelque chose aurait pu échouer.
- Format du lien. Les URL raccourcies (bit.ly, tinyurl) ou vers des domaines différents de celui du From peuvent déclencher les filtres. Préférez un lien direct :
https://votredomaine.fr/reset?token=abc123 - Contenu minimal. Les emails de réinitialisation doivent être simples : juste le lien, un court message, pas de marketing. Les images complexes, les scripts, les formulaires HTML compliqués augmentent le risque de détection comme spam.
Conformité légale (RGPD et recommandations CNIL)
En France, les emails transactionnels (y compris la réinitialisation de mot de passe) sont régis par le RGPD et les recommandations de la Commission Nationale de l'Informatique et des Libertés (CNIL). Points clés :
- L'email de réinitialisation est considéré comme transactionnel, donc pas besoin d'opt-in explicite si l'utilisateur a un compte actif.
- L'email doit clairement identifier l'expéditeur (nom, adresse, domaine du responsable de traitement).
- Si votre politique le permet, incluez un lien de désabonnement aux communications non-transactionnelles (newsletters, promotions), mais pas un désabonnement des emails de sécurité.