Referencia
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 y de un mensaje legible:
550 5.1.1 <ada@example.com>: Recipient address rejected: User unknownEl 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 con la respuesta completa y decide si reintentar:
- Rebote inmediato. Las respuestas con código
550,551,553o554, y las respuestas cuyo texto indica que el fallo es permanente. El email recibe el estadobounced. - 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 estadoattemptedy 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
451pausa la entrega desde esa IP de envío a ese dominio de destinatario durante 5 minutos. Un bloqueo550 5.7.1(por motivos distintos del contenido) la pausa durante 1 hora. Los emails que coinciden con una pausa se marcan comoattemptedy se reintentan según el calendario normal.
Los rebotes duros provocan el bloqueo automático de direcciones según la configuración de tu espacio de trabajo. Para ver causas y soluciones agrupadas por problema, consulta Categorías de rebote.
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. |
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 APILogs 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 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 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 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. |
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.