BillionVerify LogoBillionVerify

Raisons de vérification

Référence complète de tous les codes reason retournés par l'API BillionVerify — signification et actions recommandées pour chaque code.

Chaque résultat de vérification inclut un champ reason qui explique pourquoi l'e-mail a reçu son statut. Utilisez cette référence pour construire une logique de filtrage précise, diagnostiquer des résultats inattendus et optimiser votre stratégie d'envoi.

Fonctionnement des raisons

Le champ reason apparaît dans toutes les réponses de vérification aux côtés du champ status :

{
  "email": "user@example.com",
  "status": "valid",
  "reason": "smtp_deliverable"
}

Les raisons sont des identifiants de chaîne stables — vous pouvez les utiliser directement dans des règles de filtrage ou une logique conditionnelle en aval.

Valid (Valide)

Les e-mails avec status: "valid" sont confirmés livrables.

RaisonDescription
smtp_deliverableSMTP RCPT a retourné 250 OK — boîte aux lettres confirmée livrable. Également produit lorsque le mode DBEB de Microsoft 365 confirme la livraison ou lorsqu'un domaine catch-all confirme également l'adresse spécifique.

Invalid (Invalide)

Les e-mails avec status: "invalid" doivent être supprimés de votre liste — la livraison n'est pas possible.

RaisonDescription
invalid_syntaxL'adresse e-mail échoue à l'analyse syntaxique — partie locale malformée, domaine ou @ manquant.
no_mx_recordsLe domaine n'a pas d'enregistrements MX (NXDOMAIN ou résultat de recherche MX vide).
spf_reject_allLe domaine n'a pas d'enregistrements MX et un enregistrement SPF avec -all — le domaine rejette explicitement tout courrier entrant.
mailbox_not_foundSMTP 550/5xx a confirmé que la boîte aux lettres n'existe pas sur le serveur distant.
host_not_foundLe nom d'hôte MX n'a pas répondu — hôte inaccessible ou inexistant.

Unknown (Inconnu)

Les e-mails avec status: "unknown" n'ont pas pu être vérifiés de manière concluante. Certains sont temporaires (récupérables) ; d'autres représentent des limitations structurelles.

RaisonRécupérableDescription
smtp_unverifiableNonLe fournisseur bloque la vérification SMTP automatisée (Apple iCloud, Microsoft consumer, Proton, Tuta). Le résultat est basé sur des heuristiques au niveau du domaine.
smtp_blockedNonLe serveur SMTP distant a explicitement bloqué ou mis sur liste noire la connexion.
smtp_eof_blockedOuiLe MX a fermé la connexion avant d'envoyer une bannière — généralement un limiteur de débit par IP ou une règle fail2ban.
smtp_timeoutOuiL'opération SMTP a expiré (délai de contexte ou annulation).
smtp_connection_failedNonÉchec générique de connexion SMTP — aucune classe plus spécifique ne correspond.
smtp_rate_limitedOuiLe serveur SMTP distant a retourné une réponse de limite de débit (421, 450, 451 ou limite de messages dépassée).
smtp_greylistedOuiRéponse générique de greylisting détectée — réessayez après un délai.
mimecast_greylistOuiGreylisting spécifique à Mimecast / échec temporaire 451.
proofpoint_ad_lookupOuiRecherche asynchrone AD Proofpoint en cours (temp-fail 421 4.1.1 pendant la validation du destinataire).
policy_temp_failOuiÉchec temporaire générique 4xx dû à l'application de politique distante.
google_rate_limitOuiGoogle MX a retourné une réponse de limite de débit ou de rejet temporaire.
google_dmarc_misalignmentNonLa configuration DMARC du domaine est mal alignée — Google rejette selon la politique DMARC.
m365_ip_rep_blockOuiMicrosoft 365 a rejeté la connexion en raison de la réputation IP (codes 4.7.650 / 4.7.651).
mailbox_fullNonLa boîte aux lettres existe mais dépasse le quota (SMTP 452 ou réponse de boîte de réception pleine).
mailbox_disabledNonLa boîte aux lettres existe mais a été désactivée ou désactivée.
dns_timeoutOuiLa recherche DNS ou MX a expiré — problème transitoire du résolveur.
dns_lookup_errorOuiLa recherche DNS a échoué avec une erreur non-NXDOMAIN (SERVFAIL, délai UDP ou erreur de résolveur).
yahoo_api_verifiedNonL'API d'inscription Yahoo a confirmé que l'adresse est livrable (chemin batch).
yahoo_api_not_deliverableNonL'API d'inscription Yahoo a confirmé que l'adresse n'est pas livrable (chemin batch).
yahoo_api_errorOuiL'appel à l'API d'inscription Yahoo a échoué — erreur générale.
yahoo_api_unavailableOuiL'API d'inscription Yahoo était indisponible (échec de santé au niveau du batch).
yahoo_api_eofOuiL'API Yahoo a retourné un EOF prématuré — coupure TCP/TLS transitoire.
yahoo_api_unavailable_after_fallbackOuiL'API Yahoo a échoué et le fallback SMTP a également échoué.
carrier_blockedNonDomaine d'opérateur japonais (docomo.ne.jp, au.com, etc.) — SMTP est bloqué par la politique de l'opérateur.
internal_verifier_errorOuiErreur interne du vérificateur non classifiée — panne transitoire.
rate_limitedOuiL'e-mail a été limité en débit pendant le traitement par lots (alias de smtp_rate_limited dans les jobs de fichiers).
bucket_default_skip_smtp_unknownNonLe mode de vérification au niveau du compte est configuré pour ignorer SMTP — le résultat est basé uniquement sur les vérifications de domaine.

Risky (Risqué)

Les e-mails avec status: "risky" ont un risque de délivrabilité modéré.

RaisonRécupérableDescription
mx_only_verification_semaphore_timeoutOuiLe sémaphore de concurrence SMTP a expiré — le fallback MX-only a confirmé des enregistrements MX valides mais la boîte aux lettres n'a pas pu être vérifiée individuellement.

Catch-all

Les e-mails avec status: "catchall" appartiennent à des domaines qui acceptent le courrier pour toutes les adresses. La délivrabilité individuelle ne peut pas être confirmée.

RaisonDescription
catch_all_domainDomaine confirmé comme catch-all — sonde RCPT aléatoire acceptée par le serveur de messagerie.
catch_all_deliverableDomaine catch-all, et l'adresse spécifique a également retourné 250 OK sur RCPT.
catch_all_inferredStatut catch-all inféré à partir d'évidences en cache (indirect, pas une sonde en direct).
m365_internal_relayDomaine Microsoft 365 configuré comme relais interne — tous les RCPT acceptés mais non vérifiés individuellement.
gateway_accept_allLa passerelle de sécurité (Mimecast, Proofpoint, etc.) est en mode accept-all.
forwarding_aliasService d'alias de transfert d'e-mail (SimpleLogin, Firefox Relay, Duck.com).
region_consumer_accept_allDomaine de consommateur régional (p. ex. naver.com, daum.net) connu pour accepter tout le courrier entrant — la sonde SMTP est ignorée.
bucket_default_skip_smtp_catchallLe mode de vérification au niveau du compte est configuré pour ignorer la détection catch-all SMTP.

Role (Adresse de rôle)

Les e-mails avec status: "role" appartiennent à des boîtes de réception partagées (p. ex. info@, support@, noreply@). Ces adresses sont généralement livrables mais ont un faible taux d'engagement.

Les adresses de rôle héritent du reason de leur vérification SMTP sous-jacente — aucun code de raison dédié n'existe pour ce statut. Par exemple, une adresse de rôle qui réussit SMTP affichera reason: "smtp_deliverable".

Disposable (Jetable)

Les e-mails avec status: "disposable" appartiennent à des services de messagerie temporaire. Accepter ceux-ci conduit généralement à des inscriptions de mauvaise qualité.

RaisonDescription
disposable_domainLe domaine est répertorié comme fournisseur de messagerie jetable / temporaire connu.

Utiliser les raisons dans le filtrage

Vous pouvez combiner status et reason pour une segmentation précise des listes. Par exemple, pour conserver les e-mails unknown qui ne sont inconnus qu'en raison de problèmes temporaires :

function isRetryableUnknown(result) {
  const retryableReasons = new Set([
    'smtp_eof_blocked', 'smtp_timeout', 'smtp_rate_limited',
    'smtp_greylisted', 'mimecast_greylist', 'proofpoint_ad_lookup',
    'policy_temp_fail', 'google_rate_limit', 'm365_ip_rep_block',
    'dns_timeout', 'dns_lookup_error', 'yahoo_api_error',
    'yahoo_api_unavailable', 'yahoo_api_eof',
    'yahoo_api_unavailable_after_fallback', 'internal_verifier_error',
    'rate_limited', 'mx_only_verification_semaphore_timeout',
  ]);
  return result.status === 'unknown' && retryableReasons.has(result.reason);
}

On this page