API de verificación de email por SMTP
Un registro MX confirma que el dominio puede recibir correo. La verificación SMTP confirma que ese buzón concreto existe. Mailbeam hace las dos cosas en una sola llamada.
Qué comprueba Mailbeam
Cada verificación ejecuta 7 comprobaciones en paralelo y devuelve un resultado estructurado en menos de 100 ms.
Handshake SMTP directo
Mailbeam conecta con el servidor de correo de destino y ejecuta EHLO + MAIL FROM + RCPT TO para comprobar si ese buzón concreto se acepta, sin entregar ningún mensaje.
Gestión de MX múltiples
Los dominios con varios registros MX se tratan por orden de prioridad. Si el servidor principal no responde, Mailbeam pasa automáticamente a los registros MX secundarios.
Resultado de la comprobación SMTP en la respuesta
El booleano `smtp_check` de la respuesta te dice específicamente si el handshake SMTP tuvo éxito, con independencia del resultado compuesto `valid`.
Trato elegante de los servidores que bloquean sondeos
Google, Microsoft y algunos servidores corporativos bloquean los sondeos SMTP directos. Cuando el sondeo está bloqueado, Mailbeam usa señales a nivel de dominio y datos históricos para estimar la entregabilidad y devuelve `status: unknown` en vez de un falso negativo.
Distinta de una comprobación solo de MX
La validación MX confirma que el dominio tiene infraestructura de correo. La verificación SMTP confirma que existe el buzón individual (el nombre antes de la arroba). Ambas se ejecutan en cada petición.
Ejecución en paralelo con el resto de comprobaciones
El sondeo SMTP es la parte lenta de una verificación: la sintaxis, los desechables y el rol no cuestan nada a su lado, y la consulta MX suele estar en caché. Es el sondeo el que decide el tiempo de respuesta.
Cómo funciona
Se obtienen los registros MX
Mailbeam resuelve los registros MX del dominio para identificar el servidor de correo responsable. Los registros de los dominios más comunes se cachean para reducir la latencia de la consulta DNS.
Se abre la conexión SMTP
Se abre una conexión TCP con el servidor MX de mayor prioridad en el puerto 25 (o el 587 en servidores solo de envío). Mailbeam manda EHLO para presentarse.
Se envía el comando RCPT TO
Mailbeam emite MAIL FROM con una dirección de sondeo y RCPT TO con la dirección de destino. El código de respuesta del servidor (250 = aceptada, 550 = rechazada) determina si el buzón existe.
Se cierra la conexión y se devuelve el resultado
Mailbeam envía QUIT y cierra la conexión sin entregar ningún correo. El código de respuesta al RCPT TO se incluye en el resultado como `smtp_check: true/false`.
Intégralo en minutos
import asyncio
import os
import httpx
# Todavía no hay SDK: Mailbeam es un único POST.
async def verify_email(email: str) -> dict:
async with httpx.AsyncClient(timeout=3.0) as client:
response = await client.post(
"https://api.mailbeam.dev/v1/verify",
json={"email": email},
headers={"Authorization": f"Bearer {os.environ['MAILBEAM_KEY']}"},
)
response.raise_for_status()
return response.json()
async def verify_with_smtp_detail(email: str) -> dict:
result = await verify_email(email)
print(f"Comprobación SMTP: {result['checks']['smtp']}")
print(f"Comprobación MX: {result['checks']['mx']}")
print(f"Estado: {result['status']}")
print(f"Puntuación: {result['score']}")
if result["status"] == "unknown":
# El sondeo no ha llegado a un veredicto: a Google y Microsoft nunca se
# les sondea, y algunos servidores aplican greylisting. Usa la puntuación.
if result["score"] >= 60:
return {"action": "allow", "reason": "domain_signals_positive"}
return {"action": "review", "reason": "low_confidence_unknown"}
if not result["valid"]:
return {"action": "reject", "reason": result["reason"]}
return {"action": "allow", "reason": "smtp_verified"}
# Uso
result = asyncio.run(verify_with_smtp_detail("user@company.com"))
print(result)Cuándo usarlo
Validación de listas de prospección B2B
Antes de lanzar una secuencia en frío, la verificación SMTP confirma que los contactos concretos que has identificado en el dominio de una empresa tienen buzones activos de verdad.
Validación de correo transaccional crítico
Antes de enviar facturas, contratos o correos de onboarding a cuentas nuevas, verifica la dirección por SMTP para evitar un hard bounce en una comunicación de mucho valor.
Desambiguar dominios catch-all
En los dominios donde el MX pasa pero la marca de catch-all está activa, se intenta el sondeo SMTP igualmente. El resultado del sondeo y la puntuación acotada dan juntos el veredicto más útil para direcciones corporativas, y la puntuación dice cuánta confianza queda en vez de fingir certeza.
Prevención de hard bounces a escala
En campañas donde la reputación de remitente importa, verificar por SMTP en el momento de la importación elimina la clase de hard bounces que provienen de buzones inexistentes.
Preguntas frecuentes
¿Listo para integrarlo?
El plan gratuito incluye 1.000 verificaciones al mes. Sin tarjeta de crédito.