Códigos de error correo electrónico

Códigos de status extendidos (SMTP)
Fuente: http://www.redinskala.com/2012/12/07/codigos-de-status-extendidos-smtp/

Cuando envies un correo electrónico a un contacto y te devuelva un código de error, puedes buscar en este artículo a que se debe dicha devolución.

Los códigos de error SMTP se han utilizado históricamente para reportar errores de los sistemas de correo. Debido a limitaciones en diseño de los códigos SMTP, éstos no se ajustan para su uso en notificaciones de estatus de entrega (DSN). SMTP brinda cerca de
12 códigos útiles para reportar entregas. La mayoría de los códigos son códigos de respuesta específicas al protocolo como la respuesta 354 del comando DATA. Cada uno de los 12 códigos útiles son insuficientes para indicar varias condiciones de error. SMTP sufre de varias cicatrices históricas, las más notables por el daño desafortunado del uso descontrolado de los mecanismos de códigos de extensión para los códigos de respuesta. Esta propuesta facilita una futura extensibilidad al requerir al cliente que interprete códigos de error desconocidos de acuerdo a la teoría de códigos y solicitando al mismo tiempo a los servidores que registren nuevos códigos de respuesta.

Cuando estudiamos la estructura de este nuevo conjunto de códigos podremos apreciar su versatilidad y la forma en la que extienden a los códigos anteriores. Comenzaremos por ver cuál es la estructura que se debe seguir en su construcción:
La sintaxis de los nuevos códigos de estatus se define como:

status-code = class “.” subject “.” detail
class = “2”/”4″/”5″
subject = 1*3digit
detail = 1*3digit

El parámetro “class” define la categoría general a la que pertenece el código. Esta puede ser 2-Exito, 4-Falla temporal y 5-Falla permanente. Su definición de acuerdo al RFC se da a continuación:
2.XXX.XXX Éxito

Éxito especifica que el DSN está reportando una entrega satisfactoria. Los sub-códigos detallados pueden notificar de transformaciones requeridas para la entrega.

4.XXX.XXX Falla Transitoria Persistente

Una falla transitoria persistente es aquella en que un correo es válido en la forma original en que fue enviado, pero la persistencia de alguna condición temporal ha causado el
abandono o retraso en los intentos para enviar el correo. Si este código acompaña a un reporte de falla en la entrega, volver a enviarlo en el futuro puede resultar en una
entrega exitosa.

5.XXX.XXX Falla Permanente

Una falla permanente es aquella que no se espera sea resuelta enviando el correo en su forma original. Se deben realizar algunos cambios en el correo o en su destino para una
entrega exitosa.

El parámetro “subject” específica el estatus de la notificación. El significado de este valor aplica de igual forma para cualquiera de los tres tipos de clases definidos anteriormente.

Los valores de “subject” pueden ser:
X.0.XXX Estatus indefinido

No hay información adicional disponible.

X.1.XXX Estatus de direccionamiento

Los reportes de estatus de direcciones en las direcciones remitente ó destinatario. Puede incluir validación o sintaxis de direcciones. Estos errores se pueden corregir generalmente por el remitente y volver a intentar la entrega.

X.2.XXX Estatus de Mailbox

El estatus de Mailbox indica que alguna situación referente al Mailbox causó está DSN. Las situaciones referentes al Mailbox se consideran dentro del ámbito del control del destinatario.

X.3.XXX Estatus del Sistema de Correo

Los estatus del sistema de correo indican que alguna Situación referente al sistema del destinatario ha causado Esta DSN. Se asume que las situaciones referentes al Sistema
Están bajo el control del administrador del sistema destino.

X.4.XXX Estatus de Red y Ruteo

Los códigos de red ó ruteo reportan el estatus del propio sistema destino. Estos componentes del sistema incluyen cualquier infraestructura necesaria como servicios de directorio y ruteo. Se asume que las situaciones de red están bajo el control del administrador del sistema destino o intermediario.

X.5.XXX Estatus del Protocolo de Entrega de Correo

Los códigos de estatus del protocolo de entrega del correo reporta fallas que involucran al protocolo de entrega del correo. Estas fallas incluyen el rango completo de problemas
que resultan de errores de implementación o conexiones no confiables.

X.6.XXX Estatus del Contenido del Correo ó del Formato

Los códigos de estatus del contenido del correo ó del formato
reportan fallas que involucran al contenido del correo. Estos
códigos reportan fallas debido a traducciones,
decodificaciones, ó en su defecto cualquier formato de correo
no soportado. Los problemas de formato ó contenido del correo
están bajo el control de ambos el remitente y el destinatario,
entendiendo que ambos deben soportar un conjunto común de
tipos formatos ó tipos de archivos definidos por el encabezado
MIME content-type.

X.7.XXX Estatus de Políticas ó Seguridad

Los códigos de estatus de políticas ó seguridad reportan fallas
que involucran políticas como filtros por destinatario o por
servidores y operaciones criptográficas. Se asume que las
situaciones derivadas de los estatus de políticas ó seguridad
están bajo el control ya sea del remitente ó del destinatario ó
en su defecto de ambos. Tanto el remitente como el destinatario
deben permitir el intercambio de correos y preparar el
intercambio de las llaves y certificados necesarios para
operaciones criptográficas.

El parámetro “detail” especifica con mayor detalle la situación particular que está reportando el código de status. Este valor aplica para cada uno de los valores de “subject”. Los valores que puede tomar “detail” se muestran a continuación:
3.1 Estatus no definidos y Otros
X.0.0 Cualquier Estatus No Definido
Este es el único código de estatus no definido. Se debe usar para todos los errores para los cuales sólo se conoce la clase del error.

Ejemplo:

C> RSET
S> 250 2.0.0 user Resetting
ó
S> 250 2.0.0 Resetting

Este código es muy común después de ejecutar el comando RSET. Dicho comando es utilizado para indicarle al SMTP Server (el servidor que está recibiendo el correo) que ignore cualquier información previa y limpie todos sus buffers para recibir un correo completamente nuevo.

dsn=4.0.0, 452 Too many recipients received this hour (in reply to RCPT TO command))

Este código indica un bloqueo temporal porque el servidor destino está configurado para aceptar cierto límite de destinarios en una ventana de tiempo definida. No hay acciones que puedan mitigar esta situación del lado del que envía el correo más que esperar a que el servidor abra las conexiones nuevamente.

dsn=4.0.0, 451 unable to verify user (in reply to RCPT TO command))

En este caso, el servidor indica que el buzón no pudo ser validado, puede ser porque no existe, porque se trata de un alias no definido o porque el buzón está temporalmente deshabilitado.

dsn=4.0.0, 451 qq trouble in home directory (#4.3.0) (in reply to end of DATA command))

Este código indica un problema de recursos en el servidor destino, no hay nada que se pueda hacer del lado del que envía para corregir esta situación.

dsn=4.0.0, 451 Could not load DRD for domain (domain.com) rcpt (user@domain.com) (in reply to RCPT TO command))

Este código refleja un problema de configuración, probablemente de relay en el servidor destino, no hay nada del lado del que envía para remediarlo.

dsn=4.0.0, 452 <user@domain.com> Mailbox size limit exceeded (in reply to RCPT TO command))

Este código indica que el buzón ha excedido su límite de almacenamiento y no aceptará correo nuevo hasta que libere espacio. El único que puede resolver la situación es el dueño del buzón ó el administrador del dominio si aumenta el límite de almacenamiento.

dsn=4.0.0, 451 Requested action aborted: local error in processing (code: 11) (in reply to RCPT TO command))

Este código indica un problema de configuración / desempeño en el servidor destino.

dsn=4.0.0, 451 The server is too busy, please try again later (in reply to RCPT TO command))

dsn=4.0.0, 452 Requested action not taken: insufficient system storage (in reply to MAIL FROM command))

En este ejemplo vemos que el servidor destino ha agotado los recursos disponibles para procesar correo.

dsn=4.0.0, 451 lowest numbered MX record points to local host (in reply to RCPT TO command))

Este código indica que el seridor destino probablemente sea un SMTP Proxy, es decir, un anti-spam de gateway que se encarga de limpiar correo y entregar el filtrado a su destino. En este caso lo que dice el error es que el relay para el dominio destino está apuntando así mismo lo que podría provocar un loop donde el correo no podrá salir del equipo. Este error es generalmente un problema de configuración de relay o de las rutas de entrega en el servidor destino.

dsn=4.0.0, 450 <user@domain.com>: User unknown in local recipient table (in reply to RCPT TO command))

Este error indica que el buzón al que se está enviando el correo no se puede encontrar de forma local en el servidor. Puede haber varias razones para esto. La primera es que en efecto el buzón no existe en el servidor. La segunda es que el servidor destino es un SMTP Proxy que no tiene buzones locales pero su relay está configurado para aceptar correos del dominio que protege como si fueran suyos. Una tercera posibilidad es que el buzón se envió sin dominio, es decir, se envió “user” en vez de “user@dominio.com”. En estos casos la mayoría de los servidores de correo autocompletan el dominio con su propio nombre y por eso cuando entregan el correo ven que el buzón no existe de forma local.

dsn=4.0.0, host:[IP] refused to talk to me: 421 4.0.0 Intrusion prevention active for [IP])

Aquí vemos un ejemplo donde seguramente el correo incluye un adjunto con algún tipo de malware ó exploit que disparó una regla en el IPS del dominio destino.

dsn=4.0.0, 450 <user@domain.com>… User information temporarily unavailable (in reply to RCPT TO command))

Este error indica que probablemente el servidor destino utiliza un servicio de directorio (LDAP) que no se encuentra disponible en ese momento por lo que no puede validar si el buzón existe antes de aceptarlo.

dsn=4.0.0, 451-Your mail was previously greylisted and the timeout has not yet expired. 451-You should wait another 298

dsn=4.0.0, 451 Still greylisted – please try again in five minutes. (in reply to RCPT TO command))

En este código vemos que la IP está bloqueada temporalmente y aún no ha expirado el tiempo de bloqueo.

3.2 Estatus de Dirección
X.1.0 Otros Estatus de Direcciones
Algo acerca de la dirección especificada en el correo causó esta respuesta.
Ejemplo:

C> MAIL FROM:<user@dominio.com>
S> 250 2.1.0 user@dominio.com…Sender OK

En este ejemplo observamos que el código indica que el buzón es aceptado por el servidor de correo porque cumple con la sintaxis correcta.

X.1.1 Dirección de mailbox destino errónea
El mailbox especificado en la dirección no existe. Para nombres
de correo de Internet, esto significa que la porción de la
dirección a la izquierda del símbolo arroba “@” es inválida.
Este error sólo es útil para fallas permanentes.
Ejemplo:

550 5.1.1 : Recipient address rejected: User unknown in local recipient table

550 5.1.1 unknown or illegal alias:user@domain.com (in reply to RCPT TO command)

Ambos ejemplos reflejan una situación donde el buzón o el alias del buzón no existen (o fueron eliminados) del SMTP Server.

Este error es muy típico de Postfix donde el buzón al que se pretende entregar el correo no existe. También puede suceder que el usuario sí exista pero su alias no está dado de alta en la tabla de alias de Postfix y por esta razón es rechazado.

X.1.2 Dirección de sistema destino errónea
El sistema destino especificado en la dirección no existe
ó no es capaz de aceptar correo. Para nombres de Internet,
esto se refiere a que la porción a la derecha del símbolo
arroba “@” no es válida para correo. Este código sólo es
útil para fallas permanentes.

X.1.3 Sintaxis de dirección mailbox errónea
La dirección destino era sintácticamente inválida. Esto puede
Aplicar a cualquier campo en la dirección. Este código sólo
es útil para fallas permanentes.
Ejemplo:
C> RCPT TO:<asdf@#(.com>
S> 501 5.1.3 Bad recipient address syntax

Esta situación sólo puede ser resuelta por el remitente del correo, el servidor que recibe este tipo de correos no puede hacer nada para solucionar el problema ya que la sintaxis del buzón no puede ser interpretada como válida.

X.1.4 La dirección del mailbox destino es ambigua
La dirección del mailbox como está especificada coincide con
uno ó más destinatarios en el sistema destino. Esto puede ser
resultado del uso de algoritmos heurísticos de mapeo de
direcciones en buzones locales.

X.1.5 Dirección destino válida
La dirección del buzón como está especificada era válida. Este
Código de estatus debería ser usado para reportes de entrega
satisfactorias.
Ejemplo:
C> RCPT TO:<user@dominio.com>
S> 250 2.1.5 user@dominio.com

X.1.6 El mailbox destino se ha movido, Sin dirección de reenvío
La dirección del mailbox destino fue válida en algún momento,
pero actualmente ya no acepta correo. Este código sólo es útil
fallas permanentes.

X.1.7 Sintaxis de dirección del mailbox del remitente errónea
La dirección del remitente era sintácticamente inválida. Este
código puede aplicar a cualquier campo de la dirección.
Ejemplo:
C> MAIL FROM:<kd#”.>
S> 501 5.1.7 Bad sender address syntax

X.1.8 Dirección del sistema remitente errónea
El sistema del remitente especificado en la dirección no
existe o no es capaz de aceptar correo de regreso. Para
nombres de dominio, este campo se refiere a que la porción de la
dirección a la derecha del símbolo arroba “@” es inválida.
Ejemplo:
C> MAIL FROM:<user@kdislskdisl.com>
S> 450 4.1.8 <user@kdislskdisl.com>: Sender address rejected: Domain not found

Este tipo de errores ocurren cuando el SMTP Server tiene habilitado algún filtro como la validación de registros PTR (ó peticiones reversas) con el fin de asegurarse de que el dominio del remitente sí existe. No se recomienda habilitar este tipo de filtros ya que no todos los servidores que mandan correo utilizan un FQDN registrado en Internet y esto puede provocar el rechazo de correo válido.

3.3 Mailbox Status
X.2.0 Estatus de mailbox indefinido y Otros
El mailbox existe, pero algo en el mailbox destino ha causado el envío de este DSN.

Ejemplo:

dsn=4.2.0, 450 4.2.0 <user@domain.com>: Recipient address rejected: Greylisted (in reply to RCPT TO command))
En este ejemplo, el mailbox existe pero la IP del servidor que envía el correo está en una lista negra por lo que temporalmente el servidor destino no aceptará correo.

X.2.1 Mailbox deshabilitado, no acepta correo
El mailbox existe, pero no está aceptando correos. Esto puede ser un error permanente si el mailbox no volverá a ser habilitado o un error transitorio si el mailbox está
deshabilitado temporalmente.

Ejemplo:

dsn=4.2.1, 451 4.2.1 mailbox temporarily disabled: user@domain.com (in reply to RCPT TO command))

dsn=4.2.1, 451 4.2.1 Mailbox busy, try again later (in reply to RCPT TO command))

550 5.2.1 user disabled; cannot receive new mail: user@domain.com (in reply to RCPT TO command)

Este código indica que el buzón existe pero ya no le es posible recibir más correo, las causas pueden ser que el buzón esté lleno y el administrador haya deshabilitado temporal o permanentemente su correo. Otra razón es que el usuario ya no labore en la empresa y su cuenta está temporalmente deshabilitada hasta que el proceso de separación de labores termine. Claro que también puede ocurrir que la cuenta se deshabilitó cuando el usuario dejó de laborar ahí pero se olvidaron de eliminar la cuenta 🙂

X.2.2 Mailbox lleno
El mailbox está lleno porque el usuario ha excedido la cuota de su buzón. La semántica general implica que el destinatario puede eliminar correos para liberar espacio. Este código debe usarse con una falla transitoria persistente.

451 4.2.2 user over quota; cannot receive new mail: user@domain.com (in reply to RCPT TO command)

dsn=4.2.2, 452 4.2.2 Recipient Unable to accept message – mailbox full(host) (in reply to RCPT TO command))

dsn=4.2.2, 450 4.2.2 <user@domain.com>… Account user@domain.com has exceeded storage allocation. Please try again later. (in reply to RCPT

Este error ocurre porque el buzón del usuario está lleno. La única forma de solucionarlo es que el SMTP Server aumente la cuota del usuario o que éste elimine correo para liberar espacio en su buzón.

X.2.3 La longitud del correo excede el límite administrativo
Se ha excedido un límite en la longitud del correo. Este código
de estatus debería ser usado cuando el límite en la longitud
del correo por mailbox es menor que el límite general del
sistema. Este código debería ser usado como una falla
permanente.

X.2.4 Problema al expandir una lista de correo
El buzón es una lista de direcciones de correo y la lista no
se puede expandir. Este código puede representar una falla
permanente ó una falla transitoria permanente.

3.4 Estatus del sistema de Correo
X.3.0 Estatus del sistema de correo indefinidos y Otros
El sistema de correo destino existe y normalmente recibe correo, pero algo relacionado con el sistema ha causado la generación de este DSN.

Ejemplo:

dsn=4.3.0, 451 4.3.0 <user@domain.com>: Temporary lookup failure (in reply to RCPT TO command))

dsn=4.3.0, 451 4.3.0 Message temporarily deferred. Please try again later. (in reply to RCPT TO command))

Estos códigos indican un posible problema con el servicio de resolución de buzones, probablemente un LDAP que en el momento no esta disponible para validar la existencia del buzón destino.

X.3.1 Sistema de correo lleno
Se ha excedido el almacenamiento del sistema de correo. La semántica general implica que un sólo destinatario no podrá eliminar espacio suficiente para hacer lugar para nuevos correos. Este código sólo es útil en un código de error transitorio persistente.

Ejemplo:

dsn=4.3.1, 452 4.3.1 Insufficient system storage (in reply to MAIL FROM command))

Este error indica que ya no hay espacio libre suficiente para poder aceptar más correo, en este caso todos los buzones están siendo afectados.

X.3.2 El sistema no está aceptando correos por red
El sistema en el que reside el buzón no está aceptando correos. Algunos ejemplos de este tipo de condiciones incluyen un apagado del sistema, carga excesiva ó mantenimiento del sistema. Este código es útil para ambos errores permanentes y
transitorios persistentes.

Ejemplo:

dsn=4.3.2, host [IP] refused to talk to me: 421 4.3.2 Too many open connections.)
dsn=4.3.2, to talk to me: 421 4.3.2 rejected: Too much connections from xxx.xxx.xxx[XX.XX.XX.XX])
dsn=4.3.2, 452 4.3.2 Connection rate limit exceeded. (in reply to MAIL FROM command))

Este error se genera cuando nuestro servidor está generando demasiadas conexiones en el servidor destino por lo que se produce un bloqueo temporal. Generalmente no hay acciones que hacer para corregir esta situación ya que pasado un tiempo se podrá enviar correo nuevamente, en caso de no ser así, hay que hablar directamente con el administrador del sistema para que elimine la IP de su lista negra.

dsn=4.3.2, 451 4.3.2 Please try again later (in reply to RCPT TO command))

dsn=4.3.2, 451 4.3.2 Please try again later (in reply to MAIL FROM command))

dsn=4.3.2, 451 4.3.2 Greylisting is in effect (in reply to end of DATA command))

Estos errores obedecen a que nuestra IP ya se encuentra en una lista negra de la que puede salir automáticamente después de cierto tiempo, de no ser así, hay que contactar directamente al administrador para solicitar la remoción manual.

X.3.3 El sistema no es capaz de implementar las características seleccionadas
Las características seleccionadas para el correo no están soportadas por el sistema destino. Esto puede ocurrir en los gateways cuando las características de un dominio no se pueden mapear a las mismas características soportadas en otro dominio.

X.3.4 El correo es demasiado grande para el sistema
El correo es más grande que el límite de tamaño de correo implementado. Este límite puede ser por razones físicas ó administrativas. Este código sólo es útil para errores
permanentes.
Ejemplo:
C> MAIL FROM:user@domain.com SIZE=9999999999
S> 552 5.3.4 Message size exceeds file system imposed limit

En este caso no hay acción por parte del usuario o remitente que puedan remediar el problema porque la restricción está impuesta por el sistema de correo destino.

X.3.5 Sistema configurado incorrectamente
El sistema no está configurado en una forma tal que le permita
el aceptar correo.

3.5 Estatus de Ruteo y Red
X.4.0 Estatus de ruteo o red indefinidos u Otros
Algo está mal en la red, pero no es claro cuál es el problema,
ó el problema no se puede expresar con claridad con ninguno de
los otros códigos.

X.4.1 No hay respuesta del host
El intento de conexión saliente no obtuvo respuesta, ya sea
porque el sistema remoto está ocupado, ó no le era posible
aceptar la conexión. Este código es útil sólo como un error
transitorio persistente.

Ejemplo:

dsn=4.4.1, connect to host[IP]: Connection refused
dsn=4.4.1, connect to host[IP: Connection timed out
dsn=4.4.1, Network is unreachable

A pesar de que este error denota un problema de red, generalmente la causa de esto es que no existe realmente ningún servidor de correo escuchando en el puerto 25. Cuando se reciben estos códigos hay que validar que el dominio exista y de existir, que tenga un registro MX asociado, de no existir, seguramente la IP a la que nos estamos conectando corresponde al registro A del dominio y generalmente estos son servidores Web y no de correo por lo que la entrega nunca será exitosa. Para el error de “Network is unreachable” generalmente se trata de problemas físicos ya sea con la tarjeta de red del servidor que registra el error, el switch, firewall o cualquier otro dispositivo que temporalmente dejó de estar disponible, puede ser por tareas de mantenimiento.

X.4.2 Conexión errónea
Se estableció la conexión saliente, pero no fue posible
completar la transacción del correo, ya sea porque ocurrió
un time-out, ó porque la calidad de conexión no era adecuada.
Este código es útil sólo en errores transitorios persistentes.
Ejemplo:
4.4.2, status=deferred (lost connection with xx.xx.xx.xx[xx.xx.xx.xx] while sending end of data — message may be sent more than once)
4.4.2, status=deferred (lost connection with xx.xx.xx.xx[xx.xx.xx.xx] while sending message body)
4.4.2, status=deferred (delivery temporarily suspended: lost connection with xx.xx.xx.xx[xx.xx.xx.xx] while sending end of data — message may be sent more than once)

dsn=4.4.2, timed out while receiving the initial server greeting)

dsn=4.4.2, timed out while sending DATA command)

dsn=4.4.2, timed out while performing the HELO handshake)

dsn=4.4.2, lost connection with host[IP] while performing the HELO handshake)

dsn=4.4.2, lost connection with host[IP] while sending RCPT TO)

Este código implica que se estaba transmitiendo un correo pero la conexión de red falló inesperadamente. En este caso ambos servidores remitente y destino deberán esperar un time-out y tirar la conexión. El servidor remitente tendrá que asumir este código y encolar el correo para su entrega posterior. El servidor destino simplemente tira la conexión.

Para un análisis más detallado sobre este código puedes leer nuestros posts

Análisis de pérdida de conexión en IMSVA (dsn=4.4.2)

Análisis de pérdida de conexión | 421 4.4.2 host Error: timeout exceeded

X.4.3 Falla del servidor de directorio
El sistema de red no fue capaz de re-enviar el correo,
porque no había disponible un servidor de directorio. Este
código sólo es útil en errores transitorios persistentes. Los
problemas de conexión a un servidor DNS en Internet es un
ejemplo de este error.
Ejemplo:
4.4.3, status=deferred (Host or domain name not found. Name service error for name=domain.com type=MX: Host not found, try again)

Para corregir este problema el administrador del sistema remitente deberá cambiar su DNS actual por algún otro como el servidor público 8.8.8.8.

X.4.4 No es posible establecer una ruta
El sistema de correo no fue capaz de determinar el siguiente
brinco del correo porque no se obtuvo suficiente información
de ruteo del servidor de directorio. Este código es útil
para errores tanto permanentes como transitorios persistentes.
Una búsqueda de DNS que sólo responde con un registro SOA es
un ejemplo de error.
Ejemplo:
5.4.4, status=bounced (Host or domain name not found. Name service error for name=domain.com type=AAAA: Host not found)

Esta situación cae generalmente bajo la responsabilidad del remitente pues en la mayoría de los casos el usuario escribió por error un dominio que no existe.

X.4.5 Congestión del sistema de correo
El sistema de correo no fue capaz de entregar el correo porque el sistema de correo estaba congestionado. Este código es útil sólo en errores transitorios persistentes.

Ejemplo:

dsn=4.4.5, host[IP] refused to talk to me: 421 4.4.5 Directory harvest attack detected)

En este caso, el servidor destino ha recibido correos hacia muchos buzones que no existen por lo que bloquea temporalmente la IP ante un posible ataque de DHA.

dsn=4.4.5, 452 4.4.5 Insufficient disk space; try again later (in reply to MAIL FROM command))

En este ejemplo, el servidor destino ya no tiene espacio suficiente en disco para procesar correos nuevos.

dsn=4.4.5, to talk to me: 421 4.4.5 Too many SMTP connections from this host)

En este ejemplo, el servidor destino se ha quedado sin conexiones para recibir correos nuevos.

X.4.6 Se ha detectado un ciclo en el ruteo
Un ciclo en el ruteo ha causado que el correo se re-enviara
demasiadas veces, ya sea por tablas de ruteo incorrectas o por
un ciclo provocado por el usuario. Este código es útil sólo para
errores transitorios persistentes.

X.4.7 Ha expirado el tiempo de entrega
El correo es considerado demasiado viejo por el sistema que lo
está rechazando, ya sea porque permaneció en el sistema por
mucho tiempo ó se ha excedido el tiempo de vida especificado por
el remitente del correo. De ser posible, se debería regresar el
error que se encontró cuando se realizó el intento de entrega en
vez de este error.
Ejemplo:
BA13F20ABD: from=<user@domain.com>, status=expired, returned to sender

En este ejemplo del maillog de Postfix se ha asumido un error 5.4.7 para registrar esta línea. Este código, cuando sea necesario, deberá ser del tipo 5XX porque el correo no se volverá a encolar en el servidor.

3.6 Estatus del Protocolo de Entrega del Correo
X.5.0 Estatus de protocolo indefinido u Otros
Algo salió mal con el protocolo necesario para entregar el correo al siguiente brinco y el problema no puede ser expresado con suficiente detalle utilizando cualquier otro
código.

Ejemplo:

dsn=4.5.0, 450 4.5.0 <user@domain.com>… Account user@domain.com is temporarily unavailable. Please try again later. (in reply to RCPT TO command)

Este error puede hacer referencia a que la IP está bloqueada, o que el servidor utiliza un LDAP para validar si el buzón existe antes de aceptar correo pero en ese momento no está disponible.

X.5.1 Comando inválido
Se ha enviado un comando de protocolo de transacción de correo que estaba fuera de secuencia o no está soportado. Este código sólo es útil para errores permanentes.
Ejemplo:
503 5.5.1 Error: send HELO/EHLO first
Este problema debe ser resuelto en el servidor remitente.

dsn=4.5.1, 451 4.5.1 Mailbox full (in reply to end of DATA command))

Este código está mal implementado ya que no tiene relación con la definición del DSN, además ya existe un DSN para tratar problemas buzón lleno.

X.5.2 Error de sintaxis
Se ha enviado un comando del protocolo de transacción de correo
que no puede ser interpretado ya sea porque la sintaxis estaba
incorrecta ó porque el comando no es reconocido. Este código es
útil sólo para errores permanentes.
Ejemplo:
500 5.5.2 Error: bad syntax
502 5.5.2 Error: command not recognized
504 5.5.2 : Helo command rejected: need fully-qualified hostname
504 5.5.2 : Sender address rejected: need fully-qualified address
504 5.5.2
: Recipient address rejected: need fully-qualified address

Este problema debe ser resuleto por el servidor de correo remitente.

X.5.3 Demasiados destinatarios
Se han enviado más destinatarios para el correo que los que
pueden ser aceptados por el sistema de correo. Este error
generalmente resulta en la división del correo original para
mandar un correo por cada bloque del número de destinatarios
permitidos por el sistema.

Ejemplo:

451 4.5.3 Too many recipients specified. (in reply to RCPT TO command)

En este caso la afectación no es muy grave ya que hay una regla implícita en el RFC 2821 que sugiere que cuando ocurre esta situación, el SMTP Server debe aceptar el correo para los destinatarios que ya fueron aceptados. Para los destinatarios rechazados por este error, el correo sigue en la responsabilidad del SMTP Client así que el correo debe ser encolado y se podrá intentar nuevamente la transferencia del mismo únicamente a los destinatarios que hicieron falta. Esto puede provocar que se vean correos duplicados. En IMSVA de Trend Micro por ejemplo, en el message tracking aparecen correos duplicados o triplicados cuando ocurre esta situación. La recomendación es que el SMTP Server ponga un límite muy elevado de destintarios permitidos (arriba de 9000). Esto evita que los correos se dupliquen, tome en cuenta que cuando el correo supera el límite, de todas formas será entregado a todos los destinatarios sólo que los logs pueden reflejar una duplicidad de correos.

X.5.4 Argumentos de comando inválidos
Se ha emitido un comando con argumentos inválidos ya sea
porque el número de argumentos es más grande que el número
soportado ó representa características no reconocidas. Este
código sólo es válido en errores permanentes.
Ejemplo:
501 5.5.4 Syntax: MAIL FROM:

501 5.5.4 Syntax: RSET
501 5.5.4 Bad message size syntax
555 5.5.4 Unsupported option: k

X.5.5 Versión de protocolo errónea
Existe una diferencia en las versiones del protocolo utilizado
que no se pudo resolver de forma automática por ambas partes.

3.7 Estatus de correos con adjuntos ó correos con contenido
X.6.0 Errores de media desconocidos u Otros
Algo acerca del contenido del correo ha causado que el correo
no se pueda entregar y la descripción del problema no se
puede detallar con los demás códigos disponibles.

X.6.1 Media no soportada
La media del correo no está soportada por ninguno de los
protocolos de entrega o por el siguiente sistema que está
aceptando el correo. Este código es útil en errores permanentes.

X.6.2 Se requiere de una conversión y está prohibida
El contenido del correo debe ser convertido antes de ser
entregado y dicha conversión no está permitida. Estas
prohibiciones pueden ser definidas por el remitente o por el
sistema de correo que lo origina.

X.6.3 Se requiere de una conversión pero no está soportada
El contenido del correo debe ser convertido para poder ser
enviado pero dicha conversión no es posible o no es práctica
para los sistemas de correo involucrados en el flujo de correo.
Esta condición puede ser el resultado cuando un ESMTP Gateway
soporta la transferencia de 8 bits pero no puede bajar a 7 bits
en caso de que el siguiente SMTP Server se lo solicite.

X.6.4 Se realizó una conversión con pérdida de datos
Esta es una alerta enviada al remitente cuando la entrega del
correo fue satisfactoria pero cuando se solicitó una conversión
se perdieron datos. Esta condición también puede indicar un
error permanente si el remitente indicó que la conversión con
pérdidas estaba prohibida para el correo.

X.6.5 Conversión Fallida
Se requería de una conversión pero falló. Este código puede ser
útil tanto para errores permanentes como temporales.

3.8 Estatus de Políticas o Seguridad
X.7.0 Estatus de seguridad no definido u Otros
Algo relacionado a la seguridad ha provocado el rechazo del
correo y el problema no se puede detallar con ninguno de los
códigos disponibles.
Ejemplo:
421 4.7.0 mx.server.com Error: too many errors

X.7.1 Correo rechazado, entrega no autorizada
El remitente no está autorizado a enviar a ese destino. Esto
puede ser resultado de filtros por sistema ó por usuario. Este
código es útil en errores permanentes.
Ejemplo:

554 5.7.1 <user@domain.com>: Relay access denied.

Este error se da cuando se envía correo a un buzón cuyo dominio no pertenece al relay del servidor que presenta este error. El error se puede provocar por una mala configuración del relay donde habría que agregar el dominio del buzón a la lista de direcciones IP que pueden hacer uso del relay del servidor. Si el relay está bien configurado, este tipo de error pueden ser el origen de un ataque donde se trata de determinar si el servidor es un Open Relay.

550 5.7.1 <asdf@domain.com>: Sender address rejected: Service unavailable; SPF check failed and transaction closed due to the organization’s policy.

Este error se da cuando el buzón del remitente y/o el dominio usado en el comando EHLO no tienen de forma explícita autorizada a la dirección IP que está mandando el correo a usar ese dominio. Este comportamiento es generalmente utilizado en servidores de correo que validan dominios con el protocolo SPF.

dsn=4.7.1, 450 4.7.1 You’ve exceeded your sending limit to this domain. (in reply to end of DATA command))

Este error se debe a que el servidor que envía el error esta configurado para aceptar solamente cierta cantidad de correos por sesión o cierta cantidad de correos por ventana de tiempo, cuando alguna de las dos condiciones se excede, la IP entra en una lista negra temporal o permanente lo que indica que la entrega puede ser exitosa si se intenta más tarde y de no ser así, hay que contactar al administrador del servidor para solicitar la remoción manual de la IP. La única forma de evitar esta condición es limitar la cantidad de correo que se envía hacia este dominio ya sea por sesión o por tiempo.

dsn=4.7.1, 450 4.7.1 : Helo command rejected: Host not found (in reply to RCPT TO command))

dsn=4.7.1, 450 4.7.1 Client host rejected: cannot find your hostname, [IP] (in reply to RCPT TO command))

Este error se da porque el nombre que nuestro servidor presenta en el comando HELO/EHLO no tiene asociado un registro A en el DNS público de nuestro dominio. Lo que pasa es que cuando se recibe el comando HELO/EHLO, algunos servidores validan que el FQDN que se presenta exista, haciendo una consulta al dominio que viene en el FQDN, solicitando el registro A, o haciendo un ping al nombre para saber si el FQDN existe en Internet. Si nuestro servidor de correo tiene un nombre como servidor.localdomain, estas peticiones siempre fallarán y no se podrá entregar el correo a los dominios que usan estas verificaciones. La única solución en este caso es dar de alta el nombre de nuestro servidor de correo en el DNS asignandole un registro A válido, o cambiando el hostname para que utilice un registro A ya existente.

dsn=4.7.1, 450 4.7.1 <user@domain.com>: Relay access unavailable. (in reply to RCPT TO command))

Este error se da generalmente en sistemas de correos hosteados donde una compañía hospeda su servicio de correo con un tercero, sin embargo, puede ocurrir que si la empresa ya no renovó el servicio o se cambió con otra compañía, la IP del hoster original aún no haya hecho el cambio para decirle a Internet que ese dominio ya no existe por lo que no puede aceptar correos para ese dominio. Si el registro MX se encuentra bien, entonces significa que nuestro servidor de correo está haciendo uso del caché o de un Smarthost para enviar el correo a ese dominio de forma directa a esa IP sin hacer consultas por DNS. Este caso se puede solucionar ubicando primero si el dominio aún existe y si tenemos alguna ruta estática de entrega (como un smarthost) eliminarlo para que se use el DNS.

dsn=4.7.1, 450 4.7.1 <user@domain.com>: Recipient address rejected: ERROR-GL100 System busy, please try again later. (in reply to RCPT TO command)
dsn=4.7.1, 451 4.7.1 Service unavailable – try again later (in reply to DATA command))
dsn=4.7.1, 450 4.7.1 <user@domain.com>: Recipient address rejected: Policy Rejection- Please try later. (in reply to RCPT TO command))
dsn=4.7.1, 450 4.7.1 <user@domain.com>: Recipient address rejected: Service temporarily unavailable (in reply to RCPT TO command))
dsn=4.7.1, 451 4.7.1 Please try again later (in reply to DATA command))

Este ejemplo indica una situación donde nuestra IP puede estar bloqueada temporalmente en ese dominio o bien puede ser que temporalmente el servidor destino no tenga recursos para aceptar correo. Si el dominio existe y ha pasado un tiempo en que no se ha podido entregar correo lo más seguro es que nuestra IP esté bloqueada.

dsn=4.7.1, 451 4.7.1 Greylisting in action, please come back later (in reply to RCPT TO command))
dsn=4.7.1, 450 4.7.1 <user@domain.com>: Recipient address rejected: Greylisted (in reply to RCPT TO command))

dsn=4.7.1, 450 4.7.1 <xxx.xxx.xxx[XX.XX.XX.XX]>: Client host rejected: Greylisted for 5 minutes (in reply to RCPT TO command))

Aquí no hay mucho que decir, la IP está bloqueada 🙂
X.7.2 Expansión de listas de correo prohibida
El remitente no está autorizado a enviar correo a la lista
de distribución especificada. Este código es útil en errores
permanentes.

X.7.3 Se requiere de una conversión de seguridad pero no es posible
Se requirió de la conversión de un protocolo de correo seguro a otro pero dicha conversión no fue posible. Este código es útil en errores permanentes.

X.7.4 Características de seguridad no soportadas
Un correo contiene características de seguridad como autenticación segura que no pueden ser soportadas en el protocolo de entrega. Este código sólo es útil en errores
permanentes.

X.7.5 Falla criptográfica
Un sistema de transporte que estuvo autorizado para validar ó descifrar un correo en la capa de transporte no pudo hacerlo porque faltaba información necesaria como llaves ó dicha información no era válida.

X.7.6 Algoritmo de criptografía no soportado
Un sistema de transporte que estuvo autorizado para validar ó descifrar un correo no fue capaz de validarlo porque el algoritmo necesario no está soportado.

X.7.7 Falla de integridad de correo
Un sistema de transporte que estuvo autorizado para validar un correo no pudo hacerlo porque el correo estaba corrupto ó alterado. Este código puede ser útil en errores temporales ó permanentes.

Ejemplo:

dsn=4.7.7, 451 4.7.7 Excessive userid unknowns from [IP] (in reply to MAIL FROM command))

Este ejemplo indica una situación donde un servidor está recibiendo varios correos que corresponden a buzones que no existen por lo que asume que se encuentra bajo un posible ataque y se defiende bloqueando las conexiones temporalmente. Si se intenta la entrega más tarde, es posible que nos vuelva a aceptar correo, si no lo hace, significa que el servidor ha dejado esta IP en una lista negra de la que se deberá sacar manualmente. Estos casos se pueden evitar sacando la lista de buzones inexistentes para eliminarlos antes de que se intente su entrega.

Comprendiendo bien el principio bajo el cual están definidos los códigos de status se podrá interpretar al menos la situación a la que se está enfrentando su servidor de correo con sólo mirar los dígitos regresados.

FIN

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.