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.
- Trouver le serveur. Les enregistrements de messagerie du domaine désignent le serveur qui reçoit son courrier.
- Ouvrir la session. La connexion s'établit sur le port 25, celui du courrier entre serveurs.
- Annoncer l'expéditeur puis le destinataire. C'est à cette étape que le serveur dit s'il accepterait le message.
- 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.
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.
| Ce que répond le serveur | Statut rendu | Facturation |
|---|---|---|
| Le serveur accepte le destinataire et le domaine ne répond pas à tout. | valid | Un crédit débité. |
| Le serveur refuse définitivement le destinataire. | invalid | Un crédit débité. |
| Le domaine accepte toutes les adresses, c'est un domaine catch-all. | unknown | Aucun crédit débité. |
| Le serveur répond par une temporisation, greylisting ou équivalent. | unknown | Aucun crédit débité. |
| Le serveur bloque la sonde ou reste injoignable. | unknown | Aucun crédit débité. |
| La boîte existe mais elle est pleine. | risky | Un crédit débité. |
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.
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.
- Elle ne mesure pas l'activité. Une boîte acceptée peut n'être jamais relevée.
- Elle ne prédit pas le classement. Un message accepté peut être classé en indésirable par le destinataire.
- Elle vieillit. Une adresse acceptée aujourd'hui peut être fermée demain. Une vérification est un instantané.
- Elle bute sur les domaines qui acceptent tout. Sur ces domaines, aucune sonde au monde ne distingue une boîte existante d'une boîte inventée.
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.