ByeBouncer
·8 min de lectura·por Fidel

SMTP probing: cómo saber si un email existe sin mandarle nada

Una explicación paso a paso del handshake SMTP que usamos para verificar entregabilidad sin generar bounces, con las trampas comunes (catch-all, Yahoo, greylisting) y cómo las manejamos.

Verificar que un email existe sin enviarle un mensaje parece magia, pero es solo abusar del protocolo SMTP como lo diseñó RFC 5321 hace 20 años. El servidor del dominio destino está obligado a decirnos si acepta o rechaza un destinatario antes de que mandemos el cuerpo del mensaje. Nosotros nos vamos antes de mandar nada.

El handshake, paso a paso

Cuando un servidor de correo quiere entregar un mensaje a maria@empresa.com, hace exactamente estos pasos:

El servidor nunca vio un mensaje, nunca lo guardó en el buzón, nunca lo marcó como spam. Para él fue una conexión que se cerró antes de empezar. Para nosotros, su respuesta al RCPT TO fue toda la información que necesitábamos.

Las respuestas que importan

Los códigos SMTP son de 3 dígitos. Los que leemos en el RCPT TO:

Las trampas

El protocolo asume un mundo ideal; la realidad tiene matices.

Catch-all

Muchos dominios configuran su servidor para aceptar cualquier dirección y después, internamente, decidir qué hacer. Un 250 en un catch-all no significa que el buzón exista — significa que el servidor no te va a decir si existe o no. Lo detectamos probando una dirección aleatoria del mismo dominio al principio: si también la acepta, el dominio es catch-all y marcamos el resultado como unknown.

Proveedores grandes que no colaboran

Yahoo, por ejemplo, aceptó durante años cualquier RCPT TO y hacía la validación real durante elDATA para no filtrar información a scrapers. Microsoft tiene reglas similares con bloqueos por reputación. Cuando pasa, devolvemos provider_blocked como señal neutra: no es evidencia de que el email sea inválido, es evidencia de que el proveedor no colaboró.

Greylisting y timeouts

Un servidor con greylisting activo responde 450 la primera vez y acepta en el reintento, para filtrar spam que no reintenta. Nosotros no reintentamos infinitamente — devolvemos el estado como unknowncon la señal greylisting. En producción eso te deja decidir si tratás como review o reintentás más tarde.

Rate-limiting por dominio

Si consultás 10.000 emails de gmail.com en 30 segundos, Google te banea tu IP. Nosotros limitamos las consultas que mandamos a cada dominio para proteger nuestra reputación de IP (que es compartida entre todos nuestros clientes). Cuando se activa el límite devolvemos smtp_domain_rate_limited y el resultado se basa en las capas previas (sintaxis, MX, clasificación de dominio).

Por qué esto importa para tus bounces

Mandar un mensaje a un buzón que ya probaste con SMTP probing y que respondió 550 es la forma más rápida de arruinar la reputación de tu dominio. ESP como SendGrid, Postmark o Resend miden tu bounce rate y pueden suspender la cuenta a partir del 5%. Verificar antes de enviar baja ese número a 0 hasta en listas viejas.

El límite: SMTP probing te dice si el buzón acepta correo ahora. No te dice si la persona lo va a leer, si va a marcar como spam, o si el mensaje va a parar al Promotions tab. Para eso hay engagement tracking, no verificación. Verificar reduce bounces; no mejora deliverability por sí solo.

Ver el detalle completo de verificación de email →