Aller au contenu principal

Verdicts et score

Chaque validation renvoie deux valeurs complémentaires : result, le verdict, et score, la confiance de 0 à 100. Le verdict répond à « peut-on écrire à cette adresse ? », le score nuance la réponse.

Les quatre verdicts​

VerdictSignification
validL'adresse est délivrable et aucun signal de risque notable n'a été relevé.
riskyL'adresse est délivrable, mais risquée.
invalidL'adresse ne recevra pas de courrier.
unknownLe serveur de messagerie n'a pas permis de conclure.

Comment le verdict est obtenu​

Les règles s'appliquent dans cet ordre ; la première qui correspond l'emporte.

#SituationVerdict
1Syntaxe invalideinvalid
2Domaine sans serveur de messagerie (ni MX, ni enregistrement A utilisable, ou MX nul)invalid
3Le serveur SMTP refuse la boîteinvalid
4Domaine accept-all : le serveur accepte n'importe quelle adresseunknown
5Adresse sur la liste noire de l'organisationinvalid
6SMTP exécuté et conclusif : boîte confirméevalid
6 bisSMTP exécuté mais sans conclusion (greylisting, délai dépassé, serveur injoignable)unknown
7SMTP non exécuté (clé sans SMTP) : syntaxe et DNS correctsvalid

Puis deux règles peuvent dégrader un valid en risky :

  • le domaine est jetable, malveillant (hameçonnage, arnaque, liste noire publique) ou piège (typosquat) ;
  • le score est inférieur à 70, typiquement quand plusieurs signaux de qualité se cumulent.
Sans SMTP, valid veut dire « bien formée et domaine joignable »

Une clé sans SMTP ne vérifie pas l'existence de la boîte. Un valid signifie alors que l'adresse est correcte et que son domaine reçoit du courrier, pas que la boîte existe. Activez le SMTP sur la clé pour une confirmation.

Le score​

Le score part de 100 et est réduit par ce qui fragilise l'adresse :

  • Plafonds sur les échecs critiques : syntaxe invalide, domaine mort, boîte refusée font tomber le score très bas.
  • Plafonds de prudence : domaine accept-all, domaine en mauvaise santé (configuration DNS et de messagerie faible), domaine joint seulement par son enregistrement A sans SMTP.
  • Pénalités qualité, cumulables : jetable, domaine malveillant ou piège, compte générique, terme injurieux, partie locale aléatoire, faute de frappe dans le domaine. Chaque signal supplémentaire abaisse aussi le plafond.
  • Confirmation SMTP : une boîte confirmée sans aucun signal de qualité obtient 100 (95 si le serveur annonce un transfert).
  • Liste blanche : une adresse en liste blanche a un score d'au moins 95.

Repères de lecture :

ScoreLecture
90 – 100Adresse sûre
70 – 89Bonne adresse avec un signal mineur
40 – 69Plusieurs signaux de risque, ou serveur peu concluant
0 – 39Adresse inutilisable ou très douteuse

Le barème exact peut évoluer pour suivre la réalité des messageries. Basez vos règles métier sur result, warnings et finalDecision, et utilisez le score pour trier ou nuancer, pas comme un seuil contractuel.

Les verdicts à la loupe​

risky : livrable, mais​

Une adresse risky recevra le message, mais elle présente un risque pour vous : boîte temporaire qui disparaîtra, domaine qui imite un fournisseur connu pour capter le courrier, domaine signalé comme malveillant. Le champ warnings dit pourquoi :

"warnings": [
{ "code": "DISPOSABLE_EMAIL", "severity": "warning", "message": "Disposable / throwaway email provider" }
]

unknown : pas de conclusion, pas de crédit​

unknown n'est pas un échec : le serveur n'a simplement pas permis de trancher. Les causes les plus courantes :

Causefeatures.smtp.reasonCodeQue faire
Domaine accept-allACCEPT_ALL_DOMAINL'adresse est souvent bonne mais rien ne le prouve. Acceptez, surveillez les rebonds.
GreylistingGREYLISTEDLe serveur demande de réessayer plus tard. Revalidez quelques minutes après.
Délai dépassé, réseauTIMEOUT, NETWORK_ERROR_ETIMEDOUTRevalidez plus tard.

Un verdict unknown n'est jamais facturé, même si le SMTP a été tenté.

invalid : pourquoi​

La cause se lit dans la fonctionnalité en échec : features.syntax, features.dns (NO_MX_NO_A, NULL_MX…) ou features.smtp (MAILBOX_NOT_FOUND). Une adresse en liste noire porte features.listCheck.details.isBlacklisted: true.

Verdict technique et décision métier​

result est un verdict technique, identique pour tous les clients. Votre décision peut être plus stricte : refuser les adresses génériques sur un formulaire B2C, accepter les accept-all sur une newsletter… Deux outils pour ça :

  • finalDecision (accepted ou rejected) et policy.reasons appliquent la politique rattachée à la clé. Voir Politiques et listes.
  • warnings décrit tous les signaux relevés, qu'une politique les bloque ou non.