Infraestructura de email · 15 min de lectura

Códigos de error SMTP: qué significan y cómo leerlos.

Mandas un correo y te vuelve rebotado con un número seco: 550, 421, 554. Parece jerga de servidores, pero cada cifra te está diciendo con precisión qué pasó y quién tiene que moverse. Esta es la guía de referencia para descifrarlos y saber qué hacer con cada uno.

Un código de error SMTP es la respuesta de tres cifras que el servidor del destinatario devuelve cuando no acepta tu correo. El primer dígito manda: los que empiezan por 4 (4xx) son fallos temporales —"prueba más tarde", el sistema reintenta solo— y los que empiezan por 5 (5xx) son fallos permanentes —"esto no entra hasta que lo arregles". Muchos servidores añaden un código enhanced tipo 5.7.1, con tres partes que precisan la causa. La regla práctica: lee el código entero junto al texto que lo acompaña, y cuando el número y el texto no coincidan, hazle caso al texto.

  • 4xx = temporal (reintenta solo), 5xx = permanente (hay que corregir la causa).
  • El código enhanced (X.Y.Z) añade detalle: clase, asunto y detalle del fallo.
  • El 550 5.7.1 casi siempre es autenticación, política o lista negra, no una dirección mala.
  • Ante un 5xx, no reenvíes a ciegas: repetir sin corregir castiga tu reputación.
En un minuto

Lo esencial, antes de meternos en materia

Cada vez que le das a enviar, tu servidor de correo entabla una conversación breve con el servidor del destinatario. Le dice de quién viene el mensaje, para quién es, y le pasa el contenido. En cada paso, el otro lado responde con un número. Si todo va bien, ese número es un 250 y el correo entra. Si algo falla, el número cambia, y ahí es donde empiezan las dudas: ¿qué significa 550? ¿por qué 421? ¿tengo que hacer algo o se arregla solo? Ese número es la forma que tiene el servidor de decirte, con exactitud, qué salió mal.

La buena noticia es que estos códigos siguen un estándar. No son inventos de cada proveedor, sino un lenguaje común definido en los documentos técnicos que rigen el correo en internet. Una vez que entiendes la lógica —qué dice el primer dígito, qué añaden los demás— dejas de memorizar códigos sueltos y empiezas a leerlos como quien lee la hora. Un 4 al principio quiere decir una cosa; un 5, otra muy distinta. Con esa sola distinción ya resuelves la mitad de las dudas.

Para quien vive del correo, saber leer estos códigos vale oro. Un rebote no es un fracaso silencioso: es un diagnóstico gratis. El servidor del destinatario te está señalando con el dedo dónde está el problema, si en la dirección, en tu autenticación, en tu reputación o en el contenido. Ignorarlo es como recibir el resultado de un análisis médico y no abrirlo. Leerlo bien, en cambio, convierte un misterio frustrante en una lista corta de cosas por corregir. Eso es lo que vamos a hacer aquí, código por código.

Una aclaración de vocabulario para que nada te tome por sorpresa. Al mensaje automático que te llega cuando un correo no se entrega se le llama informe de no entrega, o NDR por sus siglas en inglés; también lo verás como rebote, mensaje de devolución o notificación de estado de entrega. Son nombres distintos para lo mismo: el aviso que el sistema te devuelve con el código y una explicación. Cuando digamos "rebote" a lo largo de la guía, nos referimos a ese aviso.

La estructura

¿Cómo se lee un código de error SMTP?

Todo código SMTP tiene la misma forma: tres cifras seguidas, a veces acompañadas de un segundo código más detallado. Las tres cifras básicas se leen de izquierda a derecha, y cada posición aporta un nivel más de detalle. El primer dígito es el que más manda, porque te dice el desenlace: si es un 2, el mensaje se aceptó; si es un 4, hubo un tropiezo temporal; si es un 5, un rechazo definitivo. Con solo mirar esa primera cifra ya sabes si tienes que preocuparte o esperar.

Los otros dos dígitos afinan el motivo, pero en la práctica casi todo el peso lo lleva el primero. Por eso conviene grabarse la idea sencilla: 2 es éxito, 4 es "espera", 5 es "arréglalo". Un 220 saluda al inicio de la conversación, un 250 confirma que el mensaje se aceptó, un 421 avisa de que el servicio no está disponible ahora mismo, y un 550 rechaza el mensaje por algún motivo permanente. La familia entera se ordena bajo esa misma lógica de tres niveles.

A esas tres cifras, la mayoría de los servidores modernos les suma un segundo código llamado enhanced o código de estado ampliado, con la forma X.Y.Z: por ejemplo, 5.7.1 o 4.2.2. Nació para resolver un problema real: los códigos básicos eran tan pocos que cada uno cargaba con demasiados significados distintos, y no bastaban para explicar bien qué había pasado. El enhanced desglosa el motivo en tres partes —clase, asunto y detalle— y por eso, cuando aparece, es tu mejor pista. Más adelante lo descomponemos entero.

Junto a los números casi siempre hay un texto corto en inglés que el servidor añade para explicarse, del estilo "mailbox unavailable" o "authentication required". Ese texto importa tanto como el código, y a veces más. No está estandarizado —cada servidor lo redacta a su manera— pero suele ser lo más concreto del rebote. Si el número te da una pista general y el texto te da el detalle, léelos juntos. Y si parecen contradecirse, confía en el texto: es la parte que el administrador del otro lado escribió pensando en que la entendieras.

La distinción que más importa

¿Qué diferencia hay entre un error 4xx y uno 5xx?

Si solo te llevas una idea de esta guía, que sea esta. Un código que empieza por 4 es un fallo temporal: el servidor del destinatario no pudo aceptar tu correo en ese momento, pero podría hacerlo más tarde. Es el equivalente a un "ahora no puedo, vuelve a llamar en un rato". Tu servidor de correo lo entiende así y reintenta la entrega por su cuenta, cada cierto tiempo, durante varias horas. En la mayoría de los casos, el problema se resuelve solo y el mensaje termina llegando sin que tú muevas un dedo.

Un código que empieza por 5 es un fallo permanente: el servidor te está diciendo que no va a aceptar ese mensaje mientras la causa siga ahí. No es "vuelve más tarde", es "esto no entra hasta que cambies algo". A este tipo de rebote se le llama rebote duro, y a diferencia del temporal, no se arregla esperando. Reenviar el mismo correo sin corregir nada solo consigue chocar otra vez contra el mismo muro y, de paso, mandarle a los buzones la señal de que insistes con envíos que fallan.

Por eso la respuesta correcta ante cada uno es distinta. Ante un 4xx, la paciencia suele bastar: deja que el sistema reintente y observa. Solo si el mismo 4xx se repite terca y largamente contra la misma dirección conviene mirar más de cerca, porque un temporal que no cede a veces esconde un problema de fondo, como un buzón que siempre está lleno o un límite de ritmo que rozas en cada tanda. Ante un 5xx, en cambio, la paciencia no ayuda: hay que leer qué señala el código y corregirlo antes de volver a intentar.

Hay un matiz honesto que conviene conocer: los servidores no aplican esta división con precisión milimétrica. Un buzón lleno, que en teoría debería devolver un código temporal, a veces regresa como un 552 permanente. Y algunos servidores usan un 4xx para ganar tiempo mientras deciden si confían en ti. Por eso la primera cifra es una guía excelente, pero no una ley de hierro. Cuando el código y el texto que lo acompaña parezcan discrepar, vuelve a la regla de oro: hazle caso al texto, que suele ser el más fiel a lo que de verdad pasó.

La chuleta

Los códigos SMTP más frecuentes, en una tabla

Estos son los que verás una y otra vez. Guárdala a mano: con el código y su significado al lado, un rebote deja de ser un enigma y se vuelve una acción concreta.

Código Tipo Qué significa Qué hacer
250 2.0.0 Éxito Aceptado y entregado. Es la respuesta que quieres ver: el servidor receptor tomó tu mensaje. Nada. Todo salió bien.
421 4.7.0 Temporal · 4xx El servidor está ocupado, caído un momento o te está frenando el ritmo de envío. Reintentar más tarde y bajar la velocidad de disparo.
450 4.7.1 Temporal · 4xx Buzón no disponible ahora, o bloqueo temporal por política o reputación. Reintentar; si se repite, revisar tu reputación.
451 4.3.0 Temporal · 4xx Error de procesamiento en el servidor receptor, a veces por filtros de contenido. Dejar que el sistema reintente; si persiste, avisar al administrador.
452 4.2.2 Temporal · 4xx Sin espacio: el buzón está lleno o el servidor se quedó corto de almacenamiento. Reintentar; reducir el tamaño del mensaje si aplica.
550 5.1.1 Permanente · 5xx El destinatario no existe. Dirección mal escrita, cuenta borrada o dominio abandonado. Corregir la dirección o quitarla de la lista.
550 5.7.1 Permanente · 5xx Rechazado por política, autenticación o lista negra. El más común y el más ambiguo. Revisar SPF, DKIM, DMARC y la reputación de tu IP.
550 5.7.26 Permanente · 5xx Falla de autenticación en Gmail: tu correo no pasó SPF, DKIM o DMARC alineados. Alinear la autenticación con tu dominio del remitente.
552 5.2.2 Permanente · 5xx Buzón lleno tratado como definitivo, o mensaje demasiado grande para el límite. Reducir el tamaño; suprimir la dirección si se repite.
553 5.1.2 Permanente · 5xx Dirección o dominio del remitente no permitido, o con formato inválido. Verificar que el dominio existe y está bien escrito.
554 5.7.1 Permanente · 5xx Transacción fallida: rechazo genérico por spam, virus, política o mala reputación. Revisar contenido, autenticación y estado de la IP.
535 5.7.8 Permanente · 5xx Autenticación SMTP fallida: usuario o contraseña incorrectos al conectar. Corregir las credenciales del servidor de salida.
530 5.7.0 Permanente · 5xx Autenticación requerida: intentaste enviar sin identificarte ante el servidor. Activar la autenticación SMTP en tu cliente o aplicación.

Cada uno de estos códigos da para su propia guía detallada, con sus causas finas y su solución paso a paso. Iremos publicándolas en esta sección; mientras tanto, esta tabla y lo que sigue te bastan para diagnosticar la enorme mayoría de los rebotes.

El detalle fino

¿Qué significa cada parte de un código como 5.7.1?

El código enhanced X.Y.Z se lee en tres tramos, y entenderlos te deja descifrar casi cualquier código, incluso uno que no hayas visto antes. La primera cifra es la clase, y repite la lógica que ya conoces: un 2 es éxito, un 4 es temporal, un 5 es permanente. En 5.7.1, ese 5 inicial confirma que estamos ante un rechazo definitivo. Hasta aquí, nada nuevo respecto al código básico.

La segunda cifra es la más útil, porque señala el asunto: en qué parte del proceso falló la cosa. No es lo mismo un problema con la dirección del destinatario que uno con la seguridad o con el tamaño del mensaje, y esta cifra te lo dice de un vistazo. En nuestro ejemplo, el 7 apunta a política y seguridad, la categoría donde viven los rechazos por autenticación —SPF, DKIM, DMARC— y por filtros antispam. Por eso un 5.7.algo casi siempre grita "revisa tu autenticación y tu reputación".

La tercera cifra es el detalle: precisa el caso concreto dentro de esa categoría. El 1 final de 5.7.1 marca un rechazo específico por regla del servidor. Entre el segundo y el tercer dígito tienes el motivo casi cerrado; el texto en inglés que acompaña al código termina de aclararlo. Esta es la tabla de significados de la segunda cifra, la que más te va a servir para orientarte:

.0
Otro / indefinido

El servidor sabe que algo salió mal, pero no encaja en una categoría más precisa.

.1
Dirección

El problema está en el destinatario o remitente: buzón inexistente, sintaxis inválida.

.2
Buzón

El buzón existe pero no puede recibir: está lleno, deshabilitado o suspendido.

.3
Sistema de correo

Un problema del propio servidor: capacidad, límite de tamaño, error de configuración.

.4
Red y enrutamiento

Fallos de conexión, tiempos de espera agotados o rutas de entrega rotas.

.5
Protocolo de entrega

El diálogo SMTP salió del guion: comando mal formado o secuencia incorrecta.

.6
Contenido y medios

Un problema con el cuerpo del mensaje o su conversión de formato.

.7
Política y seguridad

Autenticación, permisos, spam o reglas del receptor. Aquí caen SPF, DKIM y DMARC.

Del papel a la práctica

¿Cómo se lee un mensaje de rebote?

Ya sabes descifrar el código; ahora hay que saber encontrarlo. Cuando un correo no se entrega, te llega de vuelta un mensaje automático, casi siempre de un remitente llamado "Mailer-Daemon", "postmaster" o "Mail Delivery System". Ábrelo sin miedo: parece técnico, pero suele decir en pocas líneas qué pasó. Busca la dirección que falló, y junto a ella el código de tres cifras y, si aparece, su versión enhanced. Eso ya te sitúa en el mapa: sabes a quién no llegó y con qué número te rebotó.

Los rebotes vienen en dos estilos. Los modernos están escritos para que cualquiera los entienda: una frase en lenguaje llano que resume el problema y, a veces, un enlace de ayuda. Los más técnicos separan la información en dos bloques, uno pensado para el usuario y otro para el administrador, con los detalles crudos de la sesión: qué servidor generó el aviso, cuál rechazó el mensaje, el código de estado y las cabeceras originales. Si eres tú quien administra el correo, ese bloque técnico es una mina de pistas.

Dentro del detalle para administradores, dos campos valen especialmente la pena. El primero es el código de diagnóstico, que trae la respuesta literal del servidor receptor, con su número y su texto. El segundo es el nombre del servidor que rechazó el mensaje, que te dice de qué lado vino el "no". Con esos dos datos —el código exacto y quién lo emitió— casi cualquier rebote deja de ser un misterio. Si el correo pasó por varios servidores intermedios, las cabeceras te permiten reconstruir el recorrido y ver en qué salto se cayó.

Y repetimos la regla que más veces salva el día, porque en un rebote real es donde de verdad se prueba: cuando el código numérico y el texto en inglés parezcan contar historias distintas, créele al texto. El número está limitado a un puñado de categorías; el texto lo escribió alguien del otro lado para explicar el caso puntual. Un 550 puede acompañar tanto a "no such user" como a "message rejected due to policy", y es el texto —no el número— el que te dice cuál de los dos casos tienes delante.

Descífralo de un vistazo

Anatomía de un código, y qué hacer con él

Así se descompone un código completo. Con esta imagen mental, cualquier rebote se vuelve legible en segundos.

Con el código descifrado, el plan de acción se ordena casi solo. Si es un 4xx, deja que tu servidor reintente y vigila: la mayoría se resuelven sin intervención. Si es un 5xx, en cambio, toca leer qué categoría marca la segunda cifra del enhanced y actuar en consecuencia. Un problema de dirección (un 5.1) pide corregir o quitar el contacto de la lista. Un problema de buzón (un 5.2) suele resolverse solo con el tiempo o suprimiendo la dirección si insiste. Y un problema de política o seguridad (un 5.7) casi siempre apunta a tu autenticación o a tu reputación.

Cuando el código apunta a autenticación o reputación, el orden de revisión es siempre parecido: comprueba que SPF, DKIM y DMARC estén bien puestos y alineados con el dominio del remitente; verifica que tu IP no haya caído en una lista negra; y revisa que no estés disparando volúmenes bruscos que disparen las alarmas del receptor. Ese chequeo cubre la enorme mayoría de los rechazos por política. Lo desarrollamos a fondo en nuestra página de autenticación y, cuando el problema es de llegada general, en la de entregabilidad.

Lo que está en juego

Por qué los rebotes hunden tu reputación

Un rebote suelto no le hace daño a nadie. El problema es el patrón. Los buzones puntúan a cada remitente con una reputación, y una de las señales que más miran es cuántos de tus correos rebotan. La lógica es simple desde su punto de vista: quien manda muchos mensajes a direcciones muertas se parece mucho a un spammer o a alguien que compró una lista. Por eso, el daño de una tasa de rebote alta va más allá de esos correos perdidos: arrastra hacia abajo la llegada de todos los demás, incluso los que sí iban a direcciones buenas.

Como referencia sana, conviene mantener la tasa de rebote bien por debajo de un pequeño porcentaje de tus envíos. Cruzar ese umbral con frecuencia dispara un círculo vicioso: más de tu correo se va a spam, menos gente lo ve, la interacción cae, y esa caída empeora todavía más tu reputación. Es una bola de nieve que, una vez rodando, cuesta frenar. Cada rebote duro que dejas pasar sin limpiar la dirección que lo causó es un grano de arena en esa cuesta abajo.

De ahí que los rebotes se traten como lo que son: un sistema de alerta temprana. Un rebote duro te dice "esta dirección está muerta, quítala"; un aluvión de 5.7 te dice "los buzones desconfían de ti, revisa tu autenticación"; una racha de temporales contra un mismo proveedor te dice "te están frenando, mira tu ritmo". Atender esas señales a tiempo mantiene tu reputación sana; ignorarlas la erosiona en silencio. Si quieres verlas de forma ordenada, con datos y no a ojo, en la página de monitoreo contamos cómo seguirlas de cerca.

Preguntas frecuentes

Dudas frecuentes sobre los códigos SMTP

¿Dónde encuentro el código SMTP de un correo que rebotó?

En el mensaje de rebote que te llega de vuelta, normalmente de un remitente como 'Mailer-Daemon' o 'Mail Delivery System'. Ábrelo y busca una línea con un número de tres cifras (como 550) seguido a veces de un código más detallado (como 5.7.1) y un texto en inglés. Si administras tu propio servidor, el mismo código aparece en los registros del MTA. Ese número y el texto que lo acompaña son toda la pista que necesitas para saber qué falló y quién debe actuar.

¿Un código que empieza por 4 es grave?

Casi nunca. Un 4xx es un fallo temporal: el servidor te dice 'ahora no, prueba más tarde', y tu sistema de correo reintenta solo durante horas. Suele resolverse sin que hagas nada. El problema aparece cuando el mismo 4xx se repite contra la misma dirección durante mucho tiempo: ahí deja de ser ruido y empieza a apuntar a algo de fondo, como un buzón que siempre está lleno o un límite de ritmo que estás rozando en cada envío.

¿Por qué recibo un 550 si la dirección es correcta?

Porque el 550 tiene varias caras. El 550 5.1.1 sí significa que el buzón no existe, pero el 550 5.7.1 es un rechazo por política o autenticación: la dirección puede estar perfecta y aun así el servidor te bloquea porque no confía en tu remitente. Por eso hay que leer el código completo y el texto que lo acompaña, más allá de las tres primeras cifras. Cuando el número y el texto parecen decir cosas distintas, hazle caso al texto: suele ser más específico.

¿Debo reintentar el envío cuando me rebota un correo?

Depende del primer dígito. Con un 4xx, sí: es temporal y tu servidor ya reintenta por su cuenta, así que no hace falta que hagas nada manual. Con un 5xx, no: es un fallo permanente, y reenviar sin corregir la causa vuelve a chocar contra el mismo muro y, encima, castiga tu reputación. Ante un 5xx, primero arregla lo que el código señala (la dirección, la autenticación, el contenido) y solo entonces vuelve a intentarlo.

¿Tus correos rebotan y no sabes por qué?

Descifrar un rebote es fácil; arreglar la causa de raíz es lo nuestro.

Si tus envíos rebotan con 5.7.1, te frenan con 421 o caen en spam sin explicación, hablemos. La entregabilidad y la infraestructura de correo son nuestra especialidad. Escríbenos a asesoramiento@arcopublicidadpma.com y te damos una lectura honesta de qué está pasando con tus rebotes, sin humo ni promesas mágicas.