Verificación SMTP: cómo comprobamos realmente si existe una bandeja de entrada

Verificación SMTP: cómo comprobamos realmente si existe una bandeja de entrada

"La verificación de correo" suena sencillo. En la práctica, es una negociación con miles de personalidades de servidores de correo: Google limitando tu IP, Microsoft devolviendo bloqueos por política, Yahoo exigiendo un respaldo de Verifly y servidores catch-all que dicen que sí a todo.

Esto es exactamente lo que ocurre cuando haces clic en Verificar en Email Validator.

Diagrama de conexión con el servidor SMTP para el proceso de verificación de correo electrónico


Paso 1: Sintaxis y saneamiento

Antes de cualquier llamada de red:

  • Eliminar caracteres Unicode invisibles (espacios de ancho cero, BOM)
  • Validar el formato RFC 5322
  • Normalizar los puntos de Gmail (john.doe@gmail.com → dedup key)
  • Comprobar la lista de bloqueo de dominios desechables (más de 10,000 dominios)
  • Comprobar patrones de trampas de spam

Si falla aquí → invalid o desechable — no se necesita SMTP ni se cobra crédito.


Paso 2: Búsqueda MX en DNS

Consultamos los registros MX del DNS. Sin MX → invalid (el dominio no puede recibir correo).

La prioridad MX determina qué servidor sondeamos primero. Se prueban varios hosts MX rotando las IP en nuestros grupos GRE/Hetzner.


Paso 3: Conversación SMTP

Secuencia típica de sondeo:

>>> EHLO verificar.email-validaton.com
<<< 250 OK
>>> MAIL FROM:<verificar@email-validaton.com>
<<< 250 OK
>>> RCPT TO:<objetivo@company.com>
<<< 250 OK  ← o 550 / 552 / 450
>>> RCPT TO:<randomfake@company.com>   ← catch-all test
<<< 550     ← bueno: server rechaza falsos

Detección de catch-all: si la dirección falsa también recibe 250, el dominio es catch-all; el buzón individual no se puede confirmar.


Paso 4: Clasificación de respuestas

Nuestro clasificador asigna el texto SMTP a estados:

Patrón de respuesta Estado
250 en real, 550 en falso valid
250 en ambos catch_all
550 user unknown invalid
552 mailbox full over_quota
450 / pistas de greylist riesgoso (reintentar)
Bloqueo por políticas, resultado no concluyente riesgoso o desconocido

Paso 5: Gestión específica por proveedor

Algunos proveedores no pueden verificarse de forma fiable mediante SMTP sin procesar:

  • Yahoo / AOL → Respaldo mediante la API de Verifly
  • Mail.ru → Verifly con asignación específica para Mail.ru
  • Google 452 / 552 cuota superada → over_quota (mailbox exists but is not accepting mail)

Nunca marcamos valid a menos que la confianza sea alta.


Paso 6: Caché y créditos

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

Facturables: valid, invalid, over_quota, disposable
Gratuitos: catch_all, risky, unknown, error

Fallos internos de control (rate_limited) map to desconocido antes de que los veas: los clientes nunca pagan por estados de infraestructura no concluyentes.


Por qué esto importa para tu lista

Entender la verificación SMTP explica por qué:

  • Un catch-all no es "valid": el protocolo, literalmente, no puede demostrar que el buzón exista
  • Cuota superada no significa inválido: el buzón existe
  • Los riesgosos requieren nueva verificación: el greylisting es temporal
  • El mismo motor impulsa Single Check, las verificaciones masivas, la API y Company Finder

Míralo en vivo — Prueba la verificación individual →

Relacionado: Explicación del catch-all · Guía de estados

¿Listo para limpiar tu lista de correos?

200 verificaciones gratuitas. Sin tarjeta de crédito. Validación SMTP completa en menos de 1 segundo.

🚀 Crear cuenta gratuita
MP

Milan Pasić

Milan Pasić es el fundador de N-Software y desarrollador principal de Email Validator. Lleva más de una década construyendo infraestructura de correo electrónico, herramientas de entregabilidad y sistemas de validación SMTP utilizados por miles de profesionales del marketing y desarrolladores en todo el mundo.