Vérification SMTP d'une adresse email

La vérification SMTP consiste à demander au serveur qui héberge une boîte s'il accepterait un message pour elle, sans jamais le lui envoyer. Le dialogue s'arrête avant l'écriture du message. C'est la seule façon d'obtenir une réponse du serveur sur l'existence d'une adresse, et le seul contrôle facturé de la plateforme.

Ce que fait réellement la sonde

La sonde se connecte au serveur de messagerie annoncé par le domaine, se présente, annonce une adresse d'expéditeur, puis annonce l'adresse à vérifier. Le serveur accepte ou refuse ce destinataire. La sonde coupe alors la session, avant l'étape qui transmettrait le contenu du message.

La vérification SMTP ouvre une session avec le serveur destinataire, lui annonce l'expéditeur et le destinataire, puis s'arrête avant d'écrire le message. Aucun courrier n'arrive dans la boîte analysée, et la personne dont l'adresse est vérifiée ne reçoit rien.

  1. Trouver le serveur. Les enregistrements de messagerie du domaine désignent le serveur qui reçoit son courrier.
  2. Ouvrir la session. La connexion s'établit sur le port 25, celui du courrier entre serveurs.
  3. Annoncer l'expéditeur puis le destinataire. C'est à cette étape que le serveur dit s'il accepterait le message.
  4. Couper avant l'envoi. La session s'arrête là. Rien n'est écrit, rien n'est transmis, rien n'arrive dans la boîte.
Demander la vérification SMTP
curl -X POST https://api.yeswecheck.fr/v2/email/validate \
  -H "Authorization: Bearer $YESWECHECK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]","smtp":true}'

Les six réponses possibles du serveur

Un serveur destinataire ne répond pas seulement par oui ou par non. Il peut accepter, refuser, tout accepter sans distinction, temporiser, bloquer la sonde, ou signaler une boîte pleine. Chaque situation produit un statut différent, et seules celles qui permettent de conclure entraînent un débit.

Les 6 issues d'une vérification SMTP, avec le statut rendu et la facturation.
Ce que répond le serveurStatut renduFacturation
Le serveur accepte le destinataire et le domaine ne répond pas à tout.validUn crédit débité.
Le serveur refuse définitivement le destinataire.invalidUn crédit débité.
Le domaine accepte toutes les adresses, c'est un domaine catch-all.unknownAucun crédit débité.
Le serveur répond par une temporisation, greylisting ou équivalent.unknownAucun crédit débité.
Le serveur bloque la sonde ou reste injoignable.unknownAucun crédit débité.
La boîte existe mais elle est pleine.riskyUn crédit débité.

Comprendre le traitement des domaines catch-all

Comprendre le statut indéterminé et le greylisting

Le résultat de la sonde fait foi

Quand la sonde a réellement dialogué avec le serveur, sa réponse prime sur tous les autres contrôles. Un signal de risque peut dégrader un résultat valide en résultat risqué, jamais l'inverse. Un refus du serveur ne devient jamais une acceptation parce que les autres contrôles étaient favorables à l'adresse.

Quand la sonde SMTP a réellement dialogué avec le serveur, son résultat fait foi. Les autres contrôles peuvent dégrader un résultat en « risky », ils ne peuvent jamais transformer un refus du serveur en acceptation.

Trois signaux dégradent un résultat valide en résultat risqué, même quand le serveur a confirmé la boîte : un domaine jetable, un domaine malveillant et un domaine typosquatté. Ces adresses existent, elles sont livrables, et elles restent risquées pour une raison métier plutôt que technique.

Lire la définition des statuts et du score

Ce que coûte une sonde

C'est le seul contrôle facturé de la plateforme, et il ne l'est que lorsqu'il aboutit. Une sonde qui n'a pas permis de conclure ne coûte rien, que le serveur ait temporisé, bloqué la sonde ou accepté toutes les adresses. Les dix-huit autres contrôles ne consomment jamais de crédit.

Un crédit est débité si et seulement si la vérification SMTP a été demandée et que le statut final n'est pas « unknown ».

Le délai accordé à la session est réglable entre 1000 et 30000 millisecondes. Allonger ce délai laisse plus de temps aux serveurs lents, mais allonge d'autant l'attente de l'appelant.

Sans vérification SMTP, la réponse est immédiate. Avec vérification SMTP, le temps de réponse dépend du serveur destinataire et peut aller de quelques centaines de millisecondes à plusieurs secondes.

Ce qu'une sonde ne peut pas dire

Une vérification SMTP décrit ce qu'un serveur répond à un instant donné. Elle ne dit pas si la boîte est relevée, si la personne existe encore dans l'entreprise, ni si le message qui suivra sera classé en indésirable. Elle ne garantit pas non plus que l'adresse sera encore acceptée demain.

Questions fréquentes

La vérification SMTP envoie-t-elle un message à l'adresse ?
Non. La vérification SMTP ouvre une session avec le serveur destinataire, lui annonce l'expéditeur et le destinataire, puis s'arrête avant d'écrire le message. Aucun courrier n'arrive dans la boîte analysée, et la personne dont l'adresse est vérifiée ne reçoit rien.
Pourquoi certaines adresses restent-elles indéterminées ?
Parce que le serveur destinataire n'a pas permis de conclure. Trois causes dominent : le domaine accepte toutes les adresses, le serveur applique une temporisation, ou il refuse la sonde. Dans ces trois cas le statut rendu est indéterminé, et aucun crédit n'est débité.
Un autre contrôle peut-il contredire le résultat de la sonde SMTP ?
Quand la sonde SMTP a réellement dialogué avec le serveur, son résultat fait foi. Les autres contrôles peuvent dégrader un résultat en risqué, ils ne peuvent jamais transformer un refus du serveur en acceptation.
La vérification SMTP est-elle toujours facturée ?
Un crédit est débité si et seulement si la vérification SMTP a été demandée et que le statut final n'est pas indéterminé. Une sonde qui n'a pas permis de conclure ne coûte rien, en temps réel comme en traitement par lots.

Aller plus loin

La vérification SMTP s'utilise de la même façon en temps réel et en traitement par lots, avec les mêmes règles de facturation. Le traitement par lots ajoute une seconde passe, qui resonde plus tard les adresses restées indéterminées et rattrape les serveurs ayant temporisé lors de la première.