Validar una dirección de correo electrónico sin enviar un solo mensaje
Verifique la sintaxis del correo electrónico, los registros MX y los dominios desechables con tres llamadas API. Sin conexión SMTP, sin correo electrónico de verificación, sin riesgo de rebote. API de validación de correo electrónico gratuita.
Su formulario de registro recopila una dirección de correo electrónico. Lo guardas, envías un mensaje de bienvenida y el correo electrónico
rebota. La dirección fue un error tipográfico. O el dominio no existe. O fue algo desechable
@mailinator.com Dirección que estará muerta en diez minutos. Ahora tienes una basura
registro en su base de datos, una reputación de remitente dañada y un usuario que nunca volverá.
La solución tradicional es enviar un correo electrónico de verificación: "Haga clic en este enlace para confirmar su dirección". Funciona, pero añade fricción. La conversión cae. Y no detecta el error tipográfico hasta después. ya has enviado un mensaje a una dirección incorrecta.
Puede validar una dirección de correo electrónico antes de enviar cualquier cosa. Tres llamadas API verifican la sintaxis, MX registros y dominios desechables. Todo el proceso dura menos de 200 ms y detecta los problemas. que causan el 90% de las fallas en la entrega de correo electrónico.
Tres capas de validación de correo electrónico
Cada capa detecta una clase diferente de dirección de correo electrónico incorrecta. Úselos juntos para una completa canal de verificación de correo electrónico, o elija los que necesite.
-
Validación de sintaxis. ¿La dirección sigue un formato válido? ¿El dominio
¿Tiene un error tipográfico conocido? El
/v1/email/validateel punto final verifica el cumplimiento de RFC 5322, detecta direcciones basadas en roles (admin@,support@), y sugiere correcciones para errores ortográficos comunes en dominios comogmial.comohotmal.com. -
Verificación de registros MX. ¿Puede el dominio recibir correo electrónico? El
/v1/email-mx/verifyEl punto final consulta DNS para registros MX y recurre a A registros. Si el dominio no tiene servidor de correo, la dirección no se puede entregar; no hay cantidad de reintentos lo arreglará. -
Detección de correo electrónico desechable. ¿La dirección es de un servicio desechable? El
/v1/disposable-email/checkverificaciones de puntos finales contra más de 700 dominios desechables conocidos y variaciones de coincidencias de patrones. También indica si el dominio es un proveedor gratuito (Gmail, Outlook) para que puedas distinguir entre direcciones personales y desechables.
Verifique la sintaxis del correo electrónico y detecte errores tipográficos
La /v1/email/validate El punto final hace la mayor parte del trabajo en una sola llamada. valida
formato, busca registros MX, busca dominios desechables y detecta errores tipográficos en populares
dominios del proveedor.
Respuesta:
el correo electrónico jamie@gmial.com tiene una sintaxis válida, pero el dominio es un error tipográfico. La API
regresa is_valid: false porque no existen registros MX para gmial.com,
y sugiere la dirección corregida jamie@gmail.com. Muestra esta sugerencia en
su formulario de registro y salva al usuario de una cuenta muerta.
Verifique los registros MX para comprobar si el correo electrónico es real
La /v1/email-mx/verify El punto final se centra en DNS. Devuelve la lista completa de MX.
registros con prioridades y un deliverable campo que le indica si el dominio
puede recibir correo.
Respuesta:
La deliverable El campo devuelve uno de tres valores: "likely" (MX
registros encontrados), "unknown" (no existe ningún registro MX pero sí A, por lo que el dominio podría
aceptar correo), o "unlikely" (sin registros MX ni A). Utilice esto para el registro MX
validación cuando necesite los datos DNS sin procesar.
Detectar direcciones desechables y desechables
La /v1/disposable-email/check El punto final identifica servicios de correo electrónico temporales.
Estas direcciones funcionan durante minutos u horas y luego dejan de aceptar correo.
Respuesta:
La is_free El campo separa los dominios desechables de los proveedores gratuitos. Un Gmail
devoluciones de direcciones is_free: true y is_disposable: false. Un mailinador
devoluciones de direcciones is_disposable: true y is_free: false. esto
la distinción importa; bloquear todos los proveedores gratuitos bloquearía la mayor parte de Internet.
Cree una canalización de validación en Node.js
Combine los tres controles en una sola función. Esta canalización ejecuta cada verificación de forma secuencial. y cortocircuitos en el primer fallo.
async function validateEmail(email) {
const headers = { "Content-Type": "application/json" };
const body = JSON.stringify({ email });
// Step 1: Syntax validation + typo detection
const syntaxRes = await fetch("https://api.botoi.com/v1/email/validate", {
method: "POST", headers, body,
});
const syntax = await syntaxRes.json();
if (!syntax.data.format_valid) {
return { valid: false, reason: "Invalid email format" };
}
if (syntax.data.suggestion) {
return {
valid: false,
reason: \`Did you mean \${syntax.data.suggestion}?\`,
};
}
// Step 2: MX record verification
const mxRes = await fetch("https://api.botoi.com/v1/email-mx/verify", {
method: "POST", headers, body,
});
const mx = await mxRes.json();
if (!mx.data.has_mx) {
return { valid: false, reason: "Domain cannot receive email" };
}
// Step 3: Disposable email detection
const dispRes = await fetch("https://api.botoi.com/v1/disposable-email/check", {
method: "POST", headers, body,
});
const disp = await dispRes.json();
if (disp.data.is_disposable) {
return {
valid: false,
reason: \`Disposable email detected (\${disp.data.provider})\`,
};
}
return { valid: true, reason: null };
}
// Usage
const result = await validateEmail("test@mailinator.com");
console.log(result);
// { valid: false, reason: "Disposable email detected (Mailinator)" }
El enfoque secuencial es legible y sale temprano. Si la sintaxis falla, te saltas la red Solicita cheques MX y desechables. Si prefiere la velocidad a la terminación anticipada, ejecute todos tres en paralelo:
async function validateEmail(email) {
const headers = { "Content-Type": "application/json" };
const body = JSON.stringify({ email });
// Run all three checks in parallel
const [syntaxRes, mxRes, dispRes] = await Promise.all([
fetch("https://api.botoi.com/v1/email/validate", {
method: "POST", headers, body,
}),
fetch("https://api.botoi.com/v1/email-mx/verify", {
method: "POST", headers, body,
}),
fetch("https://api.botoi.com/v1/disposable-email/check", {
method: "POST", headers, body,
}),
]);
const [syntax, mx, disp] = await Promise.all([
syntaxRes.json(), mxRes.json(), dispRes.json(),
]);
const errors = [];
if (!syntax.data.format_valid) errors.push("Invalid format");
if (syntax.data.suggestion) errors.push(\`Typo: try \${syntax.data.suggestion}\`);
if (!mx.data.has_mx) errors.push("No MX records");
if (disp.data.is_disposable) errors.push("Disposable domain");
return {
valid: errors.length === 0,
errors,
details: { syntax: syntax.data, mx: mx.data, disposable: disp.data },
};
}
La versión paralela dispara las tres solicitudes simultáneamente usando Promise.all.
La latencia total equivale a la solicitud más lenta en lugar de a la suma. En la mayoría de los casos, los tres
completar en menos de 100 ms.
Canal de validación de Python
La misma validación de tres pasos en Python. Este ejemplo utiliza el requests biblioteca
para mayor claridad.
import requests
API_BASE = "https://api.botoi.com/v1"
def validate_email(email: str) -> dict:
headers = {"Content-Type": "application/json"}
payload = {"email": email}
# Step 1: Syntax + typo check
syntax = requests.post(
f"{API_BASE}/email/validate", json=payload, headers=headers
).json()
if not syntax["data"]["format_valid"]:
return {"valid": False, "reason": "Invalid email format"}
suggestion = syntax["data"].get("suggestion")
if suggestion:
return {"valid": False, "reason": f"Did you mean {suggestion}?"}
# Step 2: MX record check
mx = requests.post(
f"{API_BASE}/email-mx/verify", json=payload, headers=headers
).json()
if not mx["data"]["has_mx"]:
return {"valid": False, "reason": "Domain cannot receive email"}
# Step 3: Disposable check
disp = requests.post(
f"{API_BASE}/disposable-email/check", json=payload, headers=headers
).json()
if disp["data"]["is_disposable"]:
provider = disp["data"]["provider"]
return {"valid": False, "reason": f"Disposable email ({provider})"}
return {"valid": True, "reason": None}
# Usage
result = validate_email("jamie@gmial.com")
print(result)
# {'valid': False, 'reason': 'Did you mean jamie@gmail.com?'}
Cuándo validar direcciones de correo electrónico
Diferentes puntos de contacto requieren diferentes profundidades de validación. Aquí es donde encaja cada cheque.
| Punto de contacto | Sintaxis | cheque MX | Desechable | Por qué |
|---|---|---|---|---|
| Formulario de registro | Sí | Sí | Sí | Detecte errores tipográficos, dominios inactivos y cuentas desechables antes de crear un registro |
| Caja/pago | Sí | Sí | Opcional | Los recibos necesitan una dirección de entrega; El cheque desechable depende de su política de reembolso. |
| Formulario de contacto | Sí | Opcional | No | La verificación de formato básica evita basura obvia; El cheque MX es una ventaja |
| Suscríbete al boletín | Sí | Sí | Sí | Protege la reputación del remitente; Las altas tasas de rebote hacen que los ESP lo marquen |
| Importación de leads / CRM | Sí | Sí | Sí | Limpiar los datos antes de que entren en su canalización ahorra costos posteriores |
| Herramientas internas | Sí | No | No | La verificación de sintaxis detecta errores de entrada de datos; los usuarios internos son de confianza |
Puntos clave
- Validar antes de almacenar. Cada correo electrónico incorrecto en su base de datos le cuesta: almacenamiento, envíos fallidos, procesamiento de rebotes y daños a la reputación del remitente. Detectar problemas en el punto de entrada.
-
La detección de errores tipográficos salva a las usuarias. La
/v1/email/validatepunto final detecta errores ortográficos comunes en el dominio y devuelve una sugerencia. Saliendo a la superficie "¿Quiso decir ¿jamie@gmail.com?" previene la pérdida de un usuario. - Los controles MX son rápidos y gratuitos. Las búsquedas de DNS se resuelven en milisegundos. hay no hay razón para omitirlos. Una dirección sin registros MX nunca recibirá su correo electrónico.
- La detección desechable protege el abuso de prueba. Si ofreces una prueba gratuita o plan freemium, la detección de correo electrónico desechable impide que la misma persona cree ilimitados cuentas con direcciones desechables.
-
No se necesita clave API para comenzar. Los tres puntos finales funcionan de forma anónima a las 5
solicitudes por minuto. Pruebe el proceso completo sin registrarse. Añadir un
Authorization: Bearer YOUR_KEYencabezado cuando necesite un mayor rendimiento. -
Realice comprobaciones de velocidad en paralelo. Los tres puntos finales son independientes.
Usando
Promise.allreduce la latencia total a la solicitud única más lenta en lugar de la suma de los tres.
La documentación completa para los tres puntos finales se encuentra en el
documentos API interactivos.
Cada punto final acepta un cuerpo JSON con un email campo y devuelve resultados en
a menos de 100 ms de la red perimetral de Cloudflare.
FAQ
- ¿Se puede validar una dirección de correo electrónico sin enviar un correo electrónico?
- Sí. Puedes verificar tres cosas sin enviar nada: si la dirección sigue una sintaxis válida (RFC 5322), si el dominio tiene registros MX configurados para recibir correo y si el dominio pertenece a un proveedor de correo electrónico desechable conocido. Estas tres comprobaciones detectan la mayoría de las direcciones incorrectas en el momento del registro.
- ¿La API de validación de correo electrónico de Botoi es gratuita?
- Sí. El acceso anónimo está disponible a 5 solicitudes por minuto con limitación de velocidad basada en IP. Sin clave API, sin registro, no se requiere tarjeta de crédito. Para un mayor rendimiento, los planes pagos comienzan en $9/mes e incluyen acceso a más de 150 puntos finales API.
- ¿Cuál es la diferencia entre la validación de registros MX y la verificación SMTP?
- La validación de registros MX verifica si un dominio tiene servidores de correo configurados para aceptar correo electrónico. Confirma que el dominio puede recibir correo en general. La verificación SMTP va más allá al conectarse al servidor de correo y preguntar si existe un buzón específico. Las comprobaciones MX son rápidas (menos de 100 ms) y gratuitas. Las comprobaciones SMTP son más lentas, los servidores de correo pueden bloquearlas y pueden activar límites de velocidad o indicadores de spam.
- ¿Qué tan precisa es la detección de correo electrónico desechable?
- El punto final de correo electrónico desechable de botoi verifica más de 700 dominios desechables conocidos y utiliza la coincidencia de patrones para detectar variaciones (dominios que contienen "temp", "basura", "desechable", etc.). También distingue entre dominios desechables y proveedores gratuitos como Gmail o Outlook. Ninguna lista de detección está 100% completa, pero captura todos los servicios desechables más utilizados.
- ¿Debo validar los correos electrónicos en el cliente o en el servidor?
- Ambos. Ejecute una verificación de formato básica en el cliente para obtener comentarios instantáneos. Ejecute MX y comprobaciones desechables en el servidor antes de escribir en su base de datos. La validación del lado del cliente mejora la experiencia del usuario; La validación del lado del servidor protege sus datos. Nunca confíe únicamente en las comprobaciones del lado del cliente porque pueden pasarse por alto.
Empieza a construir con botoi
150+ endpoints de API para consultas, procesamiento de texto, generacion de imagenes y utilidades para desarrolladores. Plan gratuito, sin tarjeta de credito.