Skip to content
Empieza con 100 créditos de verificación gratis
Qualisend
Todos los artículos
Ingeniería / 18 de febrero de 2026

Códigos de respuesta SMTP explicados para remitentes de email

7 minutes read

Qualisend team
Códigos de respuesta SMTP agrupados en las clases 2xx aceptado, 4xx reintento y 5xx rechazado

La respuesta rápida#

Cada vez que un servidor de correo habla con otro, responde a cada comando con un código de tres dígitos. El primer dígito te indica la categoría — 2xx éxito, 4xx fallo temporal, 5xx fallo permanente — y ese primer dígito es prácticamente toda la historia en lo que a entregabilidad se refiere. Un verificador de email lee estos mismos códigos durante su sondeo, sin llegar a enviar ningún mensaje, para decidir si un buzón es entregable, no entregable o indeterminable. Esta es la guía práctica de los códigos con los que te vas a encontrar de verdad, y del veredicto que produce cada uno.

Cómo leer un código de respuesta#

Los códigos SMTP tienen una gramática coherente. El primer dígito es la clase del resultado:

  • 2xx — éxito. El comando funcionó. 250 («acción solicitada completada») es el que quieres ver.
  • 4xx — fallo transitorio. Algo salió mal, pero podría funcionar si lo vuelves a intentar más tarde. Esto es un aplazamiento, no un rechazo.
  • 5xx — fallo permanente. El servidor rechaza la entrega, y reintentar no servirá de nada.

Muchos servidores también envían un código de estado ampliado — un segundo número con puntos, como 5.1.1 — definido por el RFC 3463. Su dígito central acota el motivo: x.1.x es sobre la dirección, x.2.x sobre el buzón, x.7.x sobre seguridad o política. Esa clase x.7.x es la forma en que un verificador puede distinguir un bloqueo por reputación («te estamos rechazando a ti») de un simple buzón inexistente, incluso cuando el texto legible por humanos es ambiguo.

Para la verificación, la correspondencia es refrescantemente clara:

Respuesta a RCPT TOSignificadoVeredicto de Qualisend
250 / 251Destinatario aceptadodeliverable / accepted_email
4xxAplazamiento temporal (greylisting, límite de tasa)reintento, luego unknown / timeout
452 / 552Buzón por encima de la cuotarisky / low_deliverability
Clase 550Rechazo permanente, usuario inexistenteundeliverable / rejected_email
Timeout / sin respuestaEl servidor nunca respondió de forma concluyenteunknown / unavailable_smtp

Los códigos que verás de verdad#

250 — OK#

El destinatario fue aceptado. En un sondeo de verificación esta es la señal positiva más fuerte, pero léela en su contexto: en un dominio catch-all el servidor devuelve 250 para todas las direcciones, existan o no, así que un 250 ahí solo tiene sentido cuando un sondeo paralelo de una dirección sin sentido es rechazado.

421 — Servicio no disponible#

El servidor está cerrando la conexión, a menudo porque está sobrecargado o te está limitando. Transitorio por clase: un verificador lo trata como un aplazamiento y reintenta, y luego informa de unknown si persiste.

450 / 451 — Buzón no disponible / error local, inténtalo de nuevo#

Las respuestas clásicas de greylisting. El servidor está rechazando temporalmente a un remitente desconocido e invitando a reintentar. Un servidor de correo real reintenta automáticamente; un verificador reintenta dentro de su presupuesto de tiempo y recurre a unknown si el aplazamiento se prolonga más de la cuenta. El 451 con frecuencia lleva «greylisted, please try again later» en su texto.

452 — Almacenamiento del sistema insuficiente / demasiados destinatarios#

A menudo significa que el buzón está lleno. El buzón existe, y por eso Qualisend trata una señal de buzón lleno como risky (low_deliverability) en lugar de no entregable: puede que el correo rebote ahora, pero la dirección no está muerta, y los buzones llenos suelen recuperarse.

550 — Buzón no disponible / usuario desconocido#

El rechazo de andar por casa. La dirección no existe, o el servidor rechaza la entrega de forma permanente. Veredicto: undeliverable / rejected_email. Si el código ampliado es 5.1.1, significa específicamente «buzón de destino incorrecto»: un «no existe ese usuario» limpio e inequívoco.

551 / 553 — Usuario no local / nombre de buzón no permitido#

Rechazos permanentes menos habituales: el servidor no reenviará para ese destinatario, o la forma de la dirección es inaceptable. Ambos son undeliverable.

554 — Transacción fallida#

Un fallo permanente comodín, usado con frecuencia para bloqueos por política: «transaction failed», «message refused» o un rechazo antispam. Cuando va acompañado de un código ampliado 5.7.x o de palabras clave de listas de bloqueo, indica que el servidor rechaza a tu remitente, no que esté juzgando el buzón, una distinción que un buen verificador registra por separado para que un problema de reputación no se malinterprete como una dirección muerta.

El resto de la conversación#

La respuesta al RCPT TO es la que lleva el veredicto, pero un sondeo de verificación lee varios otros códigos por el camino, y reconocerlos ayuda cuando estás mirando fijamente un registro SMTP en bruto o un mensaje de rebote:

  • 220 — servicio listo. El saludo que envía el servidor cuando te conectas. La ausencia de 220 significa que nunca llegaste a entrar por la puerta, a menudo un bloqueo a nivel de conexión, que un verificador registra como unavailable_smtp.
  • 250 tras HELO/EHLO y MAIL FROM. Cada paso del handshake recibe su propio 250. Un rechazo antes del RCPT TO — en el MAIL FROM, por ejemplo — suele ser el servidor rechazando a tu remitente, no juzgando al destinatario.
  • 354 — comienza la entrada del mensaje. El servidor invitándote a enviar el cuerpo del mensaje. Un verificador nunca llega hasta aquí a propósito: se detiene en el RCPT y se desconecta, así que el mensaje nunca se transmite.
  • 221 — cerrando conexión. La despedida cortés después del QUIT.
  • 501/502/503 — errores de sintaxis o de secuencia. Los comandos llegaron mal formados o en orden incorrecto. Estos tienen que ver con la conversación, no con la dirección, y un verificador robusto los gestiona sin malinterpretarlos como un veredicto sobre el buzón.

La conclusión práctica: no todo lo que no es 250 es un buzón muerto. Un rechazo en el paso equivocado de la conversación suele tener que ver con tu remitente o la conexión, y leer qué paso falló es la forma en que un verificador evita culpar al destinatario por el mal humor del servidor.

Permanente, transitorio y el honesto «desconocido»#

La decisión más trascendental que toma un verificador es cómo trata los 4xx. Un 5xx permanente es fácil: la dirección es mala, suprímela. Un 250 es fácil: es entregable (dejando aparte las salvedades de catch-all). Pero un 4xx es el servidor declinando explícitamente responder todavía, y la respuesta honesta es reintentar, luego informar de unknown si el aplazamiento persiste, nunca adivinar.

Por eso también la misma dirección puede devolver veredictos distintos en ejecuciones diferentes sin que ninguna herramienta mienta: el buzón es determinista, pero el código que produce depende del humor del servidor: greylisting en el primer intento, 250 en el reintento. Los códigos son una conversación en vivo, no una consulta a una base de datos.

Dónde lee la verificación estos códigos#

En el pipeline de verificación, los códigos de respuesta son la materia prima de la etapa 6, el sondeo del buzón por SMTP. El verificador ejecuta la conversación de entrega — HELO, MAIL FROM, RCPT TO — lee el código del RCPT y se desconecta antes del DATA, de modo que el dueño del buzón nunca recibe nada. Todo lo anterior explica cómo ese único código del RCPT se convierte en un estado sobre el que puedes actuar.

Preguntas frecuentes#

¿Cuál es la diferencia entre un rebote 4xx y uno 5xx?#

El 4xx es temporal: el servidor está aplazando la entrega y un reintento puede funcionar, así que la infraestructura de envío sigue intentándolo durante un tiempo (un «rebote suave»). El 5xx es permanente: el servidor rechaza de plano, así que el mensaje es un «rebote duro» y los intentos posteriores fallarán de la misma manera. Para mantener limpia tu lista, las direcciones 5xx deberían suprimirse; las direcciones 4xx deberían reintentarse o marcarse como desconocidas — construir un clasificador de rebotes convierte precisamente esta regla en código.

¿Un 550 significa siempre que la dirección no es válida?#

Casi siempre significa «no existe ese usuario», pero el 550 también se usa para rechazos por política: el servidor bloqueando a tu remitente en lugar de juzgar el buzón. El código de estado ampliado lo desambigua: 5.1.1 es un buzón genuinamente incorrecto, mientras que 5.7.x indica un bloqueo por seguridad o reputación. Un verificador que lea el código ampliado no archivará por error un problema de reputación como una dirección muerta.

¿Qué es un código de estado ampliado?#

El segundo número opcional de una respuesta, como 5.1.1 o 4.7.1, definido por el RFC 3463. Los tres campos son clase (2/4/5, que coincide con el código básico), asunto (sobre qué trata el código: dirección, buzón, red, política) y detalle. Aportan una precisión legible por máquina que el mensaje de texto libre a menudo no tiene.

¿Puedo fiarme por completo de un 250?#

Solo si el dominio no es catch-all. Un 250 de un servidor normal que rechaza destinatarios desconocidos es una señal positiva sólida; un 250 de un dominio catch-all no significa nada, porque ese servidor devuelve 250 para cualquier dirección posible. Justo por eso la verificación sondea una dirección sin sentido en paralelo.

Your reputation, protected.

Clean your first list in minutes. 100 free credits, no card required.

Get started