# Códigos de respuesta SMTP

> Qué significa cada código de respuesta SMTP, si es temporal o permanente, cómo lo trata Emailit y qué respuestas envía el SMTP relay de Emailit a tu aplicación.

Cada comando SMTP recibe una respuesta de tres dígitos. Esta página enumera los códigos que ves en dos sitios: las respuestas de los servidores de correo de los destinatarios cuando Emailit entrega tu correo, y las respuestas del propio SMTP relay de Emailit cuando tu aplicación envía a través de `smtp.emailit.com`.

## Cómo leer una respuesta

Una respuesta empieza con un código de tres dígitos, normalmente seguido de un [código de estado ampliado](/es/docs/dictionary/enhanced-status-codes/) y de un mensaje legible:

```text
550 5.1.1 <ada@example.com>: Recipient address rejected: User unknown
```

El primer dígito indica el resultado:

| Primer dígito | Significado | Qué debe hacer el remitente |
|---|---|---|
| `2` | Éxito. Se ha aceptado el comando. | Continuar. |
| `3` | Intermedio. El servidor necesita más datos, por ejemplo el cuerpo del mensaje después de `DATA`. | Enviar la siguiente parte. |
| `4` | Fallo temporal. El mismo comando podría funcionar más tarde. | Reintentar más tarde. |
| `5` | Fallo permanente. Repetir el comando no servirá de nada. | No reintentar sin cambiar algo. |

El segundo dígito indica la categoría (`0` sintaxis, `1` información, `2` conexión, `5` sistema de correo), y el tercero la concreta. Los servidores suelen usar los códigos con poco rigor, así que lee siempre también el código ampliado y el texto del mensaje.

## Cómo trata Emailit las respuestas de los servidores de los destinatarios

Cuando el servidor de un destinatario responde con un fallo, Emailit registra una [entrega](/es/docs/logs/email-details/) con la respuesta completa y decide si reintentar:

- **Rebote inmediato.** Las respuestas con código `550`, `551`, `553` o `554`, y las respuestas cuyo texto indica que el fallo es permanente. El email recibe el estado `bounced`.
- **Reintento.** Todo lo demás, incluidos `421`, `450`, `451`, `452`, los tiempos de espera agotados y los errores de conexión. El email recibe el estado `attempted` y Emailit reintenta hasta 7 veces durante unas 21 horas (a los 10, 20, 40, 80, 160, 320 y 640 minutos). Si fallan todos los intentos, el email se marca como rebotado y la dirección se bloquea.
- **Tratadas como permanentes pese a un código 4xx.** Las respuestas habituales «mailbox full», «over quota», «user unknown», «mailbox disabled» y «relay access denied» se reescriben como fallo permanente, porque reintentarlas rara vez funciona.
- **Espera.** Una respuesta `451` pausa la entrega desde esa IP de envío a ese dominio de destinatario durante 5 minutos. Un bloqueo `550 5.7.1` (por motivos distintos del contenido) la pausa durante 1 hora. Los emails que coinciden con una pausa se marcan como `attempted` y se reintentan según el calendario normal.

Los rebotes duros provocan el [bloqueo automático de direcciones](/es/docs/suppressions/manage/) según la configuración de tu espacio de trabajo. Para ver causas y soluciones agrupadas por problema, consulta [Categorías de rebote](/es/docs/dictionary/bounce-categories/).

## Referencia de códigos de respuesta

La columna «Emailit» describe qué ocurre cuando el servidor de un destinatario envía este código durante la entrega.

### 2xx y 3xx: éxito e intermedios

| Código | Significado | Tipo | Emailit |
|---|---|---|---|
| `220` | Servicio listo. El saludo del servidor, que también se envía antes de un intercambio `STARTTLS`. | Éxito | Continúa la conversación. |
| `221` | Cierre de la conexión, normalmente después de `QUIT`. | Éxito | Ninguna acción. |
| `235` | Autenticación correcta. | Éxito | No se usa al entregar a los destinatarios; el relay de Emailit lo envía a tu aplicación después de `AUTH`. |
| `250` | Acción solicitada completada. Después de `DATA`, el servidor ha aceptado el mensaje. | Éxito | Marca el email como `delivered`. |
| `251` | El usuario no es local; el servidor reenviará el mensaje. | Éxito | Se trata como `250`. |
| `252` | El servidor no puede verificar el usuario, pero intentará la entrega. | Éxito | Se trata como `250`. |
| `354` | Empieza a enviar el cuerpo del mensaje; termínalo con una línea que solo contenga un punto. | Intermedio | Envía el mensaje. |

### 4xx: fallos temporales

| Código | Significado | Tipo | Emailit |
|---|---|---|---|
| `421` | Servicio no disponible, se cierra la conexión. A menudo por demasiadas conexiones o por un bloqueo temporal por reputación. | Temporal | Reintento. Las variantes de buzón lleno y de cuenta no disponible se marcan como rebote. |
| `450` | Buzón no disponible, por ejemplo ocupado, bloqueado o con greylisting. | Temporal | Reintento. Las variantes de cuota, usuario desconocido y buzón desactivado se marcan como rebote. |
| `451` | Error local de procesamiento, a menudo por limitación de velocidad o greylisting. | Temporal | Reintento, con una espera de 5 minutos para esa IP y ese dominio. Las variantes de cuota superada y buzón inactivo se marcan como rebote. |
| `452` | Almacenamiento del sistema insuficiente, o demasiados destinatarios en una transacción. | Temporal | Reintento. Las variantes de cuota, almacenamiento y buzón lleno se marcan como rebote. |
| `454` | Fallo temporal de autenticación o de TLS. | Temporal | Reintento. Las variantes «Relay access denied» se marcan como rebote. |

### 5xx: fallos permanentes

| Código | Significado | Tipo | Emailit |
|---|---|---|---|
| `500` | Error de sintaxis, comando no reconocido. | Permanente | Reintento y rebote tras el último intento. |
| `501` | Error de sintaxis en los parámetros o argumentos, como una dirección mal formada. | Permanente | Reintento y rebote tras el último intento. |
| `502` | Comando no implementado. | Permanente | Reintento y rebote tras el último intento. |
| `503` | Secuencia de comandos incorrecta. | Permanente | Reintento y rebote tras el último intento. |
| `504` | Parámetro del comando no implementado. | Permanente | Reintento y rebote tras el último intento. |
| `521` | El dominio no acepta correo (RFC 7504). | Permanente | Reintento y rebote tras el último intento. |
| `530` | Autenticación obligatoria, o el servidor exige TLS primero. | Permanente | Reintento y rebote tras el último intento. |
| `534` | El mecanismo de autenticación es demasiado débil. | Permanente | Reintento y rebote tras el último intento. |
| `535` | Credenciales de autenticación no válidas. | Permanente | Reintento y rebote tras el último intento. |
| `538` | Se requiere cifrado para el mecanismo de autenticación solicitado. | Permanente | Reintento y rebote tras el último intento. |
| `550` | Buzón no disponible: la dirección no existe, o el servidor rechazó el mensaje por motivos de política o de spam. | Permanente | Rebote. Los bloqueos `550 5.7.1` también provocan una espera de 1 hora para esa IP y ese dominio. |
| `551` | El usuario no es local; el servidor no reenviará el mensaje. | Permanente | Rebote. |
| `552` | Buzón lleno o el mensaje supera el límite de tamaño del servidor. | Permanente | Reintento y rebote tras el último intento. Las respuestas conocidas de cuota superada se marcan como rebote de inmediato. |
| `553` | Nombre de buzón no permitido, por ejemplo una dirección no válida. | Permanente | Rebote. |
| `554` | La transacción falló, a menudo por un rechazo por política, spam o reputación. También se envía como saludo cuando un servidor rechaza la conexión. | Permanente | Rebote. |
| `555` | Parámetros de `MAIL FROM` o `RCPT TO` no reconocidos. | Permanente | Reintento y rebote tras el último intento. |
| `556` | El dominio no acepta correo (RFC 7504). | Permanente | Reintento y rebote tras el último intento. |

> **Por qué se reintentan algunos códigos 5xx:** Emailit solo marca el rebote de inmediato con `550`, `551`, `553` y `554`, o cuando la respuesta indica que el fallo es permanente. Las demás respuestas `5xx` se reintentan como fallos temporales y se marcan como rebote tras el séptimo intento. Mientras tanto, el email muestra `attempted`.

## Respuestas del SMTP relay de Emailit

Cuando tu aplicación envía a través de `smtp.emailit.com`, estas son las respuestas que puede devolver Emailit. Las respuestas a los comandos `MAIL` y `DATA` en una conexión autenticada también aparecen en **Email API → Logs** con su código de estado.

| Respuesta | Comando | Causa | Qué hacer |
|---|---|---|---|
| `235 Authentication successful` | `AUTH` | Se ha aceptado la clave de API. | Continuar. |
| `535 Authentication failed` | `AUTH` | La contraseña no es una clave de API válida de ningún espacio de trabajo. | Usa una clave de API vigente como contraseña. El usuario puede ser `emailit`. |
| `454 Temporary authentication failure` | `AUTH` | Emailit no pudo comprobar la clave por un error interno. | Reintenta tras una breve espera. |
| `504 Error: Unrecognized authentication type` | `AUTH` | Tu cliente usó un método distinto de `PLAIN` o `LOGIN`, como `CRAM-MD5`. | Configura el cliente con `PLAIN` o `LOGIN`. |
| `452 4.4.5 Messages per second limit exceeded (n/limit)` | `MAIL FROM` | El espacio de trabajo alcanzó su [límite de envío](/es/docs/limits/) por segundo. La API y SMTP comparten el límite. | Reduce el ritmo y reintenta. La mayoría de las bibliotecas de correo reintentan automáticamente las respuestas `4xx`. |
| `452 4.5.3 Daily message limit exceeded (n/limit)` | `MAIL FROM` | El espacio de trabajo alcanzó su límite de envío diario, que se renueva a las 00:00 UTC. | Espera a la renovación o solicita un límite más alto desde el panel. |
| `451 Temporary local error in processing` | `MAIL FROM`, `RCPT TO`, `DATA` | Un problema temporal por parte de Emailit. | Reintenta más tarde. |
| `530 Authentication required` | `RCPT TO` | El cliente no inició sesión antes de enviar. | Activa la autenticación SMTP en tu cliente. |
| `501 Invalid RCPT TO format` | `RCPT TO` | La dirección del destinatario está mal formada. | Corrige la dirección. |
| `550 Unverified workspaces can only send to workspace members' account emails.` | `RCPT TO` | El espacio de trabajo está en [modo sandbox](/es/docs/workspaces/production-access/) y el destinatario no es miembro. | Envía al email de cuenta de un miembro o solicita acceso de producción. |
| `535 Mail server has been suspended` | `RCPT TO` | El espacio de trabajo está suspendido. | Revisa tu salud de envío y contacta con soporte. |
| `530 From/Sender domain is not verified for this workspace. From: ...` | `DATA` | La cabecera `From` no está en un dominio de envío verificado del espacio de trabajo. Los subdominios deben verificarse por separado. | [Verifica el dominio](/es/docs/domains/verification/) o cambia la dirección de `From`. |
| `530 API key is restricted to sending domain: acme.com. ...` | `DATA` | La clave de API está limitada a un dominio y la dirección de `From` usa otro. | Usa el dominio permitido u otra clave. |
| `550 Sending from this domain is paused` | `DATA` | El dominio se pausó, normalmente por una tasa de rebote alta. | Consulta [Salud de envío](/es/docs/deliverability/sending-health/). |
| `552 Message too large (maximum size 40MB)` | `DATA` | El mensaje, incluidos los adjuntos codificados, supera los 40 MB. | Envía adjuntos más pequeños o enlaza a los archivos. |
| `550 Loop detected` | `DATA` | El mensaje ya ha pasado por el relay de Emailit más de 4 veces. | Revisa las reglas de reenvío que devuelven el correo a Emailit. |
| `550 Message processing failed` | `DATA` | Emailit no pudo guardar el mensaje. | Reintenta. Si sigue fallando, contacta con soporte indicando la hora del intento. |
| `250 2.0.0 OK: queued as em_...` | `DATA` | Emailit aceptó el mensaje. Cada destinatario recibe su propio ID de email, y los ID se listan separados por comas cuando caben en la respuesta. | Guarda el ID para buscar el email en el panel o con la API. |

El relay también envía las respuestas estándar del protocolo, como `220` al conectarte, `503 Error: need MAIL command` cuando los comandos llegan desordenados y `421 Timeout - closing connection` cuando una conexión queda inactiva.

> **Correo entrante:** Cuando Emailit recibe correo para tu [subdominio de entrada](/es/docs/inbound/set-up/) y al espacio de trabajo no le quedan créditos, el servidor remitente recibe `452 Insufficient credits to receive inbound email` y vuelve a intentarlo más tarde.

## Ver también

- [Códigos de estado ampliados](/es/docs/dictionary/enhanced-status-codes/)
- [Categorías de rebote](/es/docs/dictionary/bounce-categories/)
- [Configuración SMTP](/es/docs/smtp/settings/)
- [Solución de problemas de SMTP](/es/docs/smtp/troubleshooting/)

---
Fuente: https://emailit.com/es/docs/dictionary/smtp-reply-codes/
