Verificação de E-mail via SMTP: Como Verificamos Realmente se uma Caixa de Entrada Existe

Verificação de E-mail via SMTP: Como Verificamos Realmente se uma Caixa de Entrada Existe

"Verificação de e-mail" parece simples. Na prática, é uma negociação com milhares de personalidades diferentes de servidores de e-mail: o Google limitando o seu IP, a Microsoft devolvendo bloqueios de política, o Yahoo exigindo um fallback do Verifly e servidores catch-all que respondem "sim" a tudo.

Eis exatamente o que acontece quando você clica em Verificar no Email Validator.

Diagrama de conexão com servidor SMTP para o processo de verificação de e-mail


Passo 1: Sintaxe e Sanitização

Antes de qualquer chamada de rede:

  • Remover caracteres Unicode invisíveis (espaços de largura zero, BOM)
  • Validar o formato RFC 5322
  • Normalizar pontos do Gmail (john.doe@gmail.com → dedup key)
  • Verificar a lista de bloqueio de domínios descartáveis (mais de 10,000+ domínios)
  • Verificar padrões de armadilhas de spam

Falha aqui → invalid ou Wegwerf-E-Mail — sem necessidade de SMTP e sem cobrança de créditos.


Passo 2: Consulta MX no DNS

Consultamos o DNS em busca de registros MX. Sem MX → invalid (o domínio não consegue receber e-mails).

A prioridade MX determina qual servidor sondamos primeiro. Vários hosts MX são testados com rotação de IP entre nossos pools GRE/Hetzner.


Passo 3: Conversa SMTP

Sequência típica de sondagem:

>>> EHLO verify.email-validaton.com
<<< 250 OK
>>> MAIL FROM:<verify@email-validaton.com>
<<< 250 OK
>>> RCPT TO:<alvo@company.com>
<<< 250 OK  ← ou 550 / 552 / 450
>>> RCPT TO:<randomfake@company.com>   ← catch-all test
<<< 550     ← bom: server rejeita falsos

Detecção de catch-all: se o endereço falso também receber 250, o domínio é catch-all — caixa de correio individual não confirmada.


Passo 4: Classificação de respostas

Nosso classificador mapeia o texto SMTP para estados:

Padrão de resposta Status
250 no real, 550 no falso valid
250 em ambos catch_all
550 usuário desconhecido invalid
552 mailbox full over_quota
dicas de 450 / greylist arriscado (tentar novamente)
Bloqueio de política, inconclusivo arriscado ou unbekannt

Passo 5: Tratamento Específico por Provedor

Alguns provedores não podem ser verificados de forma confiável via SMTP bruto:

  • Yahoo / AOL → fallback com a API da Verifly
  • Mail.ru → Verifly com mapeamento específico do Mail.ru
  • Google 452 / 552 cota excedida → over_quota (mailbox exists but is not accepting mail)

Nunca marcamos valid a menos que a confiança seja alta.


Passo 6: Cache e Créditos

Resultados definitivos (valid, invalid, catch_all, over_quota, disposable) cache per user — repeat checks within TTL skip SMTP.

Faturável: valid, invalid, over_quota, disposable
Gratuito: catch_all, risky, unknown, error

Falhas internas de verificação (rate_limited) map to unbekannt antes que as veja — os clientes nunca são cobrados por estados inconclusivos da infraestrutura.


Por Que Isto É Importante Para a Sua Lista

Compreender a verificação SMTP explica porquê:

  • Catch-all não é "válido" — o protocolo simplesmente não consegue provar a existência da caixa de entrada
  • Quota excedida não significa inválido — a caixa de correio existe
  • Risky precisa de nova verificação — o greylisting é temporário
  • O mesmo motor alimenta a Verificação Individual, em massa, a API e o Company Finder

Veja em ação — Experimente a Verificação Individual →

Relacionado: Catch-All Explicado · Guia de Estados

Pronto para limpar a sua lista de e-mails?

200 verificações gratuitas. Sem cartão de crédito. Validação SMTP completa em menos de 1 segundo.

🚀 Criar Conta Gratuita
MP

Milan Pasić

Milan Pasić é o fundador da N-Software e o programador principal do Email Validator. Passou mais de uma década a construir infraestruturas de email, ferramentas de entregabilidade e sistemas de validação SMTP utilizados por milhares de profissionais de marketing e programadores em todo o mundo.