Validación de Correo Individual
Valide direcciones de correo electrónico individuales en tiempo real con verificaciones de sintaxis, dominio y SMTP
Valide una dirección de correo electrónico en tiempo real antes de enviar. MailLand ejecuta un pipeline de validación de 5 capas: verificación de sintaxis, detección de errores tipográficos, detección de dominios desechables, detección de cuentas de rol y verificación SMTP.
Autenticación
Incluya su clave de API en el encabezado X-API-Key:
X-API-Key: ml_pv_Ab3Kx9mN2pQ7rT4wL8yD...La credencial debe ser una credencial de producto Validation con el canal Api habilitado.
Validar un Correo Electrónico
POST https://api.mail.land/v1/validation/email{
"email": "[email protected]",
"verify_smtp": true
}| Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
email | string | - | Dirección de correo electrónico a validar (obligatorio) |
verify_smtp | bool | true | Realizar verificación SMTP del buzón |
curl -X POST https://api.mail.land/v1/validation/email \
-H "X-API-Key: ml_pv_Ab3Kx9mN2pQ7rT4wL8yD..." \
-H "Content-Type: application/json" \
-d '{ "email": "[email protected]", "verify_smtp": true }'Respuesta
{
"email": "[email protected]",
"result": "Deliverable",
"score": 95,
"syntax": {
"is_valid": true,
"suggestion": null,
"domain": "example.com",
"local_part": "user",
"has_typo": false,
"typo_type": null,
"typo_confidence": null
},
"disposable": {
"is_disposable": false
},
"role": {
"is_role_account": false
},
"mx": {
"has_mx": true,
"records": ["mx1.example.com", "mx2.example.com"],
"accepts_mail": true
},
"smtp": {
"can_connect": true,
"is_deliverable": true,
"is_catch_all": false,
"has_full_inbox": false,
"is_disabled": false,
"reachability": "safe",
"error_type": null,
"error_message": null
},
"provider": {
"name": "Unknown",
"type": "unknown"
},
"cached": false,
"verified_at": "2026-02-17T12:34:56Z"
}Tipos de Resultado
| Resultado | Rango de Puntuación | Descripción |
|---|---|---|
Deliverable | 80–95 | Dirección válida, entregabilidad confirmada por SMTP |
Risky | 45–70 | Podría ser entregable pero tiene factores de riesgo (catch-all, cuenta de rol, buzón lleno) |
Unknown | 30–50 | No se puede determinar (tiempo de espera SMTP agotado, fallo de conexión) |
Undeliverable | 0–25 | No entregable (desechable, sin MX, buzón deshabilitado; sintaxis inválida = 0) |
Invalid | 5 (fijo) | Error tipográfico de dominio de alta confianza (≥90%), ver syntax.suggestion |
Ajustes de Puntuación
La puntuación base se ajusta según factores de riesgo:
| Factor | Ajuste |
|---|---|
| Cuenta de rol (info@, admin@, etc.) | -10 |
| Servidor catch-all | -5 |
Pipeline de Validación
MailLand valida cada correo electrónico a través de 5 capas:
Validación de sintaxis
Verifica el cumplimiento con RFC 5322: formato válido, parte local (máx. 64 caracteres), dominio (máx. 255 caracteres), longitud total (máx. 320 caracteres). También detecta errores tipográficos comunes en dominios.
Verificación de dominio desechable
Verifica el dominio contra una base de datos de proveedores de correo electrónico temporales/desechables conocidos. Las direcciones desechables se marcan inmediatamente como Undeliverable.
Verificación de cuenta de rol
Detecta direcciones basadas en roles como info@, admin@, support@, postmaster@. Las cuentas de rol no se marcan como no entregables, pero reducen la puntuación de confianza.
Validación de registros MX
Busca registros MX para el dominio. Si no existen registros MX ni registro A, el correo electrónico se marca como Undeliverable.
Verificación SMTP
Se conecta al servidor de correo y verifica si el buzón existe. Este paso se omite si verify_smtp es false.
Detección de Errores Tipográficos
MailLand utiliza detección de errores tipográficos de 3 capas para errores comunes de dominio:
| Capa | Método | Ejemplo |
|---|---|---|
| Coincidencia exacta | Base de datos de errores tipográficos conocidos | gmial.com → gmail.com |
| Corrección de TLD | Variantes de dominio de nivel superior | gmail.co → gmail.com |
| Distancia de Levenshtein | Coincidencia difusa (distancia máxima: 2) | gmal.com → gmail.com |
Cuando se detecta un error tipográfico, el campo syntax.suggestion contiene la dirección corregida:
{
"email": "[email protected]",
"result": "Invalid",
"score": 5,
"syntax": {
"is_valid": true,
"suggestion": "[email protected]",
"domain": "gmial.com",
"local_part": "user",
"has_typo": true,
"typo_type": "levenshtein",
"typo_confidence": 95
}
}Los errores tipográficos de alta confianza (90%+ de confianza) se procesan de forma anticipada en el pipeline: no se realiza verificación SMTP y no se consume ningún crédito.
Detección de Proveedor
MailLand identifica el proveedor de correo electrónico a partir de nombres de dominio y registros MX:
| Proveedor | Tipo | Detección |
|---|---|---|
| Gmail | consumer | Coincidencia de dominio |
| Outlook / Hotmail / Live | consumer | Coincidencia de dominio |
| Yahoo | consumer | Coincidencia de dominio |
| iCloud | consumer | Coincidencia de dominio |
| ProtonMail | consumer | Coincidencia de dominio |
| Google Workspace | business | Registros MX (aspmx) |
| Microsoft 365 | business | Registros MX (outlook.com) |
| Zoho | business | Registros MX |
| Mimecast | business | Registros MX |
| Proofpoint | business | Registros MX |
Detalles de la Verificación SMTP
El objeto smtp contiene los resultados detallados de la verificación SMTP:
| Campo | Tipo | Descripción |
|---|---|---|
can_connect | bool | Se conectó exitosamente al servidor SMTP |
is_deliverable | bool | El buzón parece existir |
is_catch_all | bool | El servidor acepta todas las direcciones (reduce la confianza) |
has_full_inbox | bool | El buzón está lleno (resultado: Risky) |
is_disabled | bool | El buzón está deshabilitado (resultado: Undeliverable) |
reachability | string | Veredicto: safe, risky, invalid o unknown |
error_type | string | Tipo de error si la verificación SMTP falló |
error_message | string | Mensaje de error detallado |
Tipos de Error SMTP
| Tipo de Error | Descripción |
|---|---|
Timeout | La conexión SMTP agotó el tiempo de espera |
ConnectionFailed | No se pudo conectar al servidor |
Blacklisted | La IP de verificación está bloqueada por el servidor |
Socks5 | Error de proxy |
AsyncSmtpError | Error de protocolo SMTP |
Cancelled | La solicitud fue cancelada |
UnexpectedError | Error inesperado |
Créditos
Cada validación consume un crédito de su cuota mensual. Ciertas validaciones son gratuitas (no se consume crédito):
| Condición | Gratuita |
|---|---|
| Dominios de correo desechables | Sí |
| Errores tipográficos de dominio de alta confianza (90%+) | Sí |
| Errores SMTP (tiempo de espera, fallo de conexión, bloqueado) | Sí |
| SMTP no puede conectarse con resultado desconocido | Sí |
| Resultados en caché | No (el crédito se consumió en la primera verificación) |
Consulte su saldo de créditos:
GET https://api.mail.land/v1/validation/credits{
"monthly_quota": 1000,
"used": 450,
"remaining": 550,
"resets_at": "2026-03-01T00:00:00Z"
}Los créditos se restablecen automáticamente el primer día de cada mes (UTC).
Almacenamiento en Caché
Los resultados de validación se almacenan en caché en Redis para evitar verificaciones redundantes:
| Tipo de Resultado | TTL del Caché |
|---|---|
| Deliverable | 48 horas |
| Risky | 24 horas |
| Undeliverable | 24 horas |
| Unknown | 6 horas |
Las respuestas en caché tienen cached: true en la respuesta. El crédito original se consumió cuando el resultado se calculó por primera vez.
Respuestas de Error
| Estado | Código | Descripción |
|---|---|---|
400 | INVALID_REQUEST | Cuerpo de solicitud faltante o inválido |
400 | INVALID_EMAIL_FORMAT | Se requiere una dirección de correo electrónico |
402 | INSUFFICIENT_CREDITS | Cuota mensual de validación excedida |
Próximos Pasos
- Validación por Lotes: valide listas de correos electrónicos en masa
- Supresiones: administre listas de supresión
- REST API: envíe correos electrónicos a direcciones validadas