BillionVerify LogoBillionVerify

Razões de Verificação

Referência completa de todos os códigos reason retornados pela API BillionVerify — significado e como agir em cada código.

Cada resultado de verificação inclui um campo reason que explica por que o e-mail recebeu seu status. Use esta referência para construir lógica de filtragem precisa, diagnosticar resultados inesperados e ajustar sua estratégia de envio.

Como as razões funcionam

O campo reason aparece em todas as respostas de verificação ao lado do campo status:

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

As razões são identificadores de string estáveis — você pode usá-los diretamente em regras de filtragem ou lógica condicional downstream.

Valid (Válido)

E-mails com status: "valid" são confirmados como entregáveis.

RazãoDescrição
smtp_deliverableSMTP RCPT retornou 250 OK — caixa de correio confirmada como entregável. Também produzido quando o modo DBEB do Microsoft 365 confirma a entrega ou quando um domínio catch-all confirma adicionalmente o endereço específico.

Invalid (Inválido)

E-mails com status: "invalid" devem ser removidos da sua lista — a entrega não é possível.

RazãoDescrição
invalid_syntaxO endereço de e-mail falha na análise de sintaxe — parte local malformada, domínio ou @ ausente.
no_mx_recordsO domínio não possui registros MX (NXDOMAIN ou resultado de pesquisa MX vazio).
spf_reject_allO domínio não possui registros MX e tem um registro SPF com -all — o domínio rejeita explicitamente todos os e-mails de entrada.
mailbox_not_foundSMTP 550/5xx confirmou que a caixa de correio não existe no servidor remoto.
host_not_foundO nome de host MX não respondeu — host inacessível ou inexistente.

Unknown (Desconhecido)

E-mails com status: "unknown" não puderam ser verificados conclusivamente. Alguns são temporários (repetíveis); outros representam limitações estruturais.

RazãoRepetívelDescrição
smtp_unverifiableNãoO provedor bloqueia a verificação SMTP automatizada (Apple iCloud, Microsoft consumer, Proton, Tuta). O resultado é baseado em heurísticas de nível de domínio.
smtp_blockedNãoO servidor SMTP remoto bloqueou ou colocou a conexão na lista negra explicitamente.
smtp_eof_blockedSimO MX fechou a conexão antes de enviar um banner — normalmente um limitador de taxa por IP ou regra fail2ban.
smtp_timeoutSimA operação SMTP expirou (prazo de contexto ou cancelamento).
smtp_connection_failedNãoFalha genérica de conexão SMTP — nenhuma classe mais específica correspondeu.
smtp_rate_limitedSimO servidor SMTP remoto retornou uma resposta de limite de taxa (421, 450, 451 ou limite de mensagens excedido).
smtp_greylistedSimResposta genérica de greylisting detectada — tente novamente após um atraso.
mimecast_greylistSimGreylisting específico do Mimecast / falha temporária 451.
proofpoint_ad_lookupSimPesquisa assíncrona de AD do Proofpoint em andamento (temp-fail 421 4.1.1 durante validação de destinatário).
policy_temp_failSimFalha temporária genérica 4xx de aplicação de política remota.
google_rate_limitSimGoogle MX retornou uma resposta de limite de taxa ou rejeição temporária.
google_dmarc_misalignmentNãoA configuração DMARC do domínio está desalinhada — Google rejeita com base na política DMARC.
m365_ip_rep_blockSimMicrosoft 365 rejeitou a conexão devido à reputação de IP (códigos 4.7.650 / 4.7.651).
mailbox_fullNãoA caixa de correio existe mas está acima da cota (SMTP 452 ou resposta de caixa de entrada cheia).
mailbox_disabledNãoA caixa de correio existe mas foi desativada ou desativada.
dns_timeoutSimA pesquisa de DNS ou MX expirou — problema transitório do resolvedor.
dns_lookup_errorSimA pesquisa de DNS falhou com um erro que não é NXDOMAIN (SERVFAIL, tempo limite UDP ou erro do resolvedor).
yahoo_api_verifiedNãoA API de Registro do Yahoo confirmou que o endereço é entregável (caminho em lote).
yahoo_api_not_deliverableNãoA API de Registro do Yahoo confirmou que o endereço não é entregável (caminho em lote).
yahoo_api_errorSimA chamada da API de Registro do Yahoo falhou — erro geral.
yahoo_api_unavailableSimA API de Registro do Yahoo estava indisponível (falha de saúde em nível de lote).
yahoo_api_eofSimA API do Yahoo retornou EOF antecipado — queda transitória de TCP/TLS.
yahoo_api_unavailable_after_fallbackSimA API do Yahoo falhou e o fallback SMTP também falhou.
carrier_blockedNãoDomínio de operadora japonesa (docomo.ne.jp, au.com, etc.) — SMTP é bloqueado pela política da operadora.
internal_verifier_errorSimErro interno do verificador não classificado — falha transitória.
rate_limitedSimO e-mail foi limitado em taxa durante o processamento em lote (alias de smtp_rate_limited em trabalhos de arquivo).
bucket_default_skip_smtp_unknownNãoO modo de verificação no nível da conta está configurado para pular SMTP — o resultado é baseado apenas em verificações de domínio.

Risky (Arriscado)

E-mails com status: "risky" têm um risco moderado de entregabilidade.

RazãoRepetívelDescrição
mx_only_verification_semaphore_timeoutSimO semáforo de concorrência SMTP expirou — o fallback somente-MX confirmou registros MX válidos, mas a caixa de correio não pôde ser verificada individualmente.

Catch-all

E-mails com status: "catchall" pertencem a domínios que aceitam e-mail para todos os endereços. A entregabilidade individual não pode ser confirmada.

RazãoDescrição
catch_all_domainDomínio confirmado como catch-all — sonda RCPT aleatória aceita pelo servidor de e-mail.
catch_all_deliverableDomínio catch-all, e o endereço específico também retornou 250 OK no RCPT.
catch_all_inferredStatus catch-all inferido de evidências em cache (indireto, não uma sonda ao vivo).
m365_internal_relayDomínio do Microsoft 365 configurado como retransmissão interna — todos os RCPT aceitos mas não verificados individualmente.
gateway_accept_allGateway de segurança (Mimecast, Proofpoint, etc.) está em modo accept-all.
forwarding_aliasServiço de alias de encaminhamento de e-mail (SimpleLogin, Firefox Relay, Duck.com).
region_consumer_accept_allDomínio de consumidor regional (p. ex. naver.com, daum.net) conhecido por aceitar todos os e-mails de entrada — sonda SMTP ignorada.
bucket_default_skip_smtp_catchallO modo de verificação no nível da conta está configurado para pular a detecção catch-all SMTP.

Role (Endereço de função)

E-mails com status: "role" pertencem a caixas de entrada compartilhadas (p. ex. info@, support@, noreply@). Esses endereços são tipicamente entregáveis mas têm baixo engajamento.

Os endereços de função herdam o reason de sua verificação SMTP subjacente — não existem códigos de razão dedicados para este status. Por exemplo, um endereço de função que passa pelo SMTP mostrará reason: "smtp_deliverable".

Disposable (Descartável)

E-mails com status: "disposable" pertencem a serviços de e-mail temporário. Aceitar esses geralmente leva a cadastros de baixa qualidade.

RazãoDescrição
disposable_domainO domínio está listado como provedor de e-mail descartável / temporário conhecido.

Usando razões na filtragem

Você pode combinar status e reason para segmentação precisa de listas. Por exemplo, para manter e-mails unknown que são desconhecidos apenas devido a problemas temporários:

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