Comparado
Verificación SMTP frente a validación de sintaxis
La validación de sintaxis demuestra que una dirección está bien formada. La verificación SMTP demuestra que un servidor de correo la acepta. Solo la segunda le dice que el correo llegará.
| Lo que quiere saber | Validación de sintaxis | Verificación SMTP |
|---|---|---|
| Qué se comprueba realmente | La forma de la cadena contra una gramática | Si un servidor de correo acepta al destinatario |
| Una errata con sintaxis válida | Pasa: gmial.com es un nombre de dominio legal | Detectada, como DNS_NXDOMAIN o LIKELY_DOMAIN_TYPO |
| Un buzón que nunca existió | Pasa | Detectado, como SMTP_MAILBOX_NOT_FOUND |
| Una dirección legal que la regla no conoce | A menudo rechazada: una clienta real, expulsada | Aceptada; decide el servidor, no un patrón |
| Lo que cuesta | Nada. Sin llamada de red, instantánea | Una consulta DNS y una conversación SMTP |
| Cuando no puede decidir | No tiene forma de saber que no puede decidir | Devuelve «desconocido» y dice en qué etapa paró |
Casi todos los formularios de registro validan la sintaxis, normalmente con una expresión regular, y conviene conservarla: no cuesta nada y atrapa la @ que falta. Lo que no puede hacer es aquello que la gente espera de ella. Una dirección bien formada es una cadena que obedece a una gramática. Si detrás hay un buzón es otra pregunta, que responde otro sistema, y ninguna coincidencia de patrones llega hasta ella.
La brecha es mayor justo donde más cuesta. jhon@gmail.com está impecablemente bien formada. También lo está una dirección en un dominio borrado el año pasado, y también una cuyo buzón se cerró cuando su titular dejó la empresa. Las tres pasan la expresión regular y las tres rebotan en duro.
El error inverso sale aún más caro. Las expresiones regulares escritas a mano rechazan habitualmente direcciones perfectamente legales —direccionamiento con signo más, dominios de primer nivel nuevos, partes locales fuera de ASCII— y un formulario que rechaza la dirección real de una clienta real es peor que uno que acepta una mala, porque nadie llega a enterarse.
No son alternativas. La validación de sintaxis va en el formulario, donde da respuesta inmediata sin llamada de red; la verificación SMTP va detrás, donde puede responder la pregunta que la expresión regular solo estaba supliendo.
Dónde aparece esto en un resultado
Códigos de motivo del vocabulario cerrado de la respuesta de la API. Son exactamente las cadenas contra las que una integración escribe un if.
INVALID_SYNTAX | La dirección no está bien formada |
DNS_NXDOMAIN | El dominio no existe |
SMTP_MAILBOX_NOT_FOUND | Buzón no encontrado |
LIKELY_DOMAIN_TYPO | El dominio parece una errata |
Ejecute una y vea la diferencia.
El comprobador gratuito devuelve el resultado completo: cada etapa, cada código de motivo, sin omitir nada.