technique · réponse sourcée
Comment vérifier une adresse e-mail sans envoyer d’e-mail
Vous pouvez vérifier une adresse e-mail sans envoyer d’e-mail en enchaînant une validation de syntaxe, des requêtes sur les enregistrements DNS et un échange selon le protocole SMTP. Ce processus vérifie que le format de l’adresse est correct et que le serveur destinataire est configuré pour accepter les e-mails de ce domaine, sans réellement délivrer de message.
Validation de la syntaxe
La première étape consiste à vérifier la chaîne de l’adresse par rapport à la norme RFC 5322. On s’assure ainsi que l’adresse contient une partie locale, un symbole arobase et une partie domaine valide. Des expressions régulières sont généralement utilisées pour détecter les fautes de frappe courantes, les caractères interdits et les erreurs de format avant toute requête réseau.
Vérification des enregistrements DNS
Une fois la syntaxe confirmée, vous devez vérifier que le domaine possède des enregistrements Mail Exchanger (MX) valides. Une requête DNS sur le domaine doit renvoyer au moins un enregistrement MX. S’il n’existe aucun enregistrement MX, le domaine ne peut pas recevoir d’e-mails. Vous pouvez utiliser des outils comme les outils gratuits de SendHQ pour contrôler la configuration DNS et vous assurer que le domaine est actif.
Déroulement de l’échange SMTP
La méthode technique de vérification consiste à ouvrir une connexion SMTP vers le serveur MX. Le client envoie une commande HELO, puis MAIL FROM et RCPT TO. Si le serveur répond 250 OK à la commande RCPT TO, l’adresse est considérée comme valide par le serveur. La connexion est ensuite fermée avec une commande QUIT avant l’envoi de la commande DATA.
Gérer les restrictions des serveurs
De nombreux serveurs de messagerie modernes utilisent une configuration catch-all ou le greylisting pour empêcher la vérification. Un serveur catch-all accepte tous les e-mails du domaine, quelle que soit la partie locale. Le greylisting rejette temporairement la première tentative et oblige l’expéditeur à réessayer plus tard, ce qui peut compliquer les scripts de vérification en temps réel.
Points à prendre en compte pour l’implémentation
Lorsque vous mettez en place ces contrôles, assurez-vous que votre IP d’envoi a une bonne réputation et un DNS inverse correct. Des échanges SMTP fréquents sans envoi d’e-mail peuvent être considérés comme un comportement suspect par les serveurs destinataires, avec le risque que votre IP soit bloquée ou ralentie par des filtres de sécurité.
Les questions que posent les équipes
Une vérification SMTP garantit-elle la livraison ?
Non, elle confirme seulement que le serveur a accepté la commande RCPT TO. Elle ne garantit pas que le message passera les filtres antispam ni qu’il arrivera en boîte de réception.
Qu’est-ce qu’une adresse e-mail catch-all ?
Un catch-all est une configuration de serveur qui accepte tout e-mail envoyé au domaine, même si la partie locale précise n’existe pas.
Puis-je utiliser une API classique pour cela ?
Oui, de nombreux services de validation d’e-mails automatisent la vérification de syntaxe, la requête DNS et l’échange SMTP via une API REST.
Pourquoi certains serveurs rejettent-ils les vérifications SMTP ?
Les serveurs peuvent rejeter ces vérifications pour se protéger des attaques de collecte d’annuaire (directory harvest attacks), dans lesquelles des bots tentent de trouver des utilisateurs valides en devinant des adresses.