Un flujo de correo electrónico tiene un paso de envío y un paso de buzón. SMTP se encarga del primero; IMAP se encarga del segundo.
¿Qué hace SMTP?
SMTP envía y retransmite correo. Tu aplicación o cliente de correo abre una conexión a un servidor SMTP, envía el remitente, los destinatarios y el mensaje, y recibe una respuesta después de cada comando. Un relay puede entonces actuar como cliente SMTP y pasar el mensaje al siguiente servidor.
El protocolo no decide cómo se muestra un buzón ni qué mensajes ha leído un usuario. Su función es la transmisión y la transferencia de responsabilidad entre servidores.
¿Qué hace IMAP?
IMAP recupera mensajes de un buzón y sincroniza el estado del buzón. Un teléfono y un portátil pueden mostrar las mismas carpetas, marcas y estado de lectura porque ambos trabajan contra la copia del servidor.
IMAP no envía un mensaje nuevo para su entrega. Un cliente puede usar SMTP para enviar una respuesta y luego usar IMAP para leer el hilo de respuestas en el buzón.
¿Cómo se comparan SMTP y IMAP?
| Pregunta | SMTP | IMAP |
|---|---|---|
| Función principal | Enviar y retransmitir correo | Recuperar y sincronizar datos del buzón |
| Dirección | Salida hacia un servidor de correo o relay | Entre un servidor de buzón y un cliente |
| Estado en el servidor | Un servidor puede encolar un mensaje hasta la siguiente transferencia; SMTP no define el buzón de un usuario | El servidor mantiene la copia del buzón, las carpetas y el estado de los mensajes |
| Cliente típico | Aplicación de envío o cliente de correo | Cliente de correo que lee una bandeja de entrada |
| Puertos comunes | 587 para envío, 465 para TLS implícito, 25 para retransmisión entre servidores | 143 para texto plano o STARTTLS, 993 para TLS implícito |
| Uso en una app | Enviar recibos, alertas y otros mensajes | Leer o procesar un buzón existente |
La diferencia en el estado del servidor determina la elección de protocolo. SMTP puede encolar un mensaje durante la entrega, pero no es un almacén de buzón. IMAP está diseñado en torno a un buzón en el servidor que los clientes revisitan y sincronizan.
¿Cómo puede una conversación SMTP diagnosticar un fallo?
Captura el comando y la respuesta que le sigue. SMTP es una conversación paso a paso: el cliente envía EHLO, MAIL FROM, RCPT TO y DATA, y el servidor responde a cada paso. El comando que falla delimita el problema a la configuración de conexión, la aceptación del remitente, la aceptación del destinatario o los datos del mensaje.
Por ejemplo, este breve intercambio llega al cuerpo del mensaje:
S: 220 mail.example ESMTP ready
C: EHLO app.example
S: 250-mail.example
C: MAIL FROM:<sender@example>
S: 250 2.1.0 OK
C: RCPT TO:<recipient@example>
S: 550 5.1.1 user unknown
El 550 llegó después de RCPT TO, así que el servidor rechazó la dirección del destinatario. No es evidencia de que la conexión de red o la identidad del remitente hayan fallado. Una respuesta 4xx en el mismo paso requeriría una política de reintento en lugar de un fallo permanente inmediato.
RFC 5321 define el formato de respuesta y establece el código numérico como la parte legible por máquina:
An SMTP reply consists of a three digit number (transmitted as three numeric characters) followed by some text unless specified otherwise in this document. The number is for use by automata to determine what state to enter next; the text is for the human user.
Usa el primer dígito como el primer criterio de diagnóstico:
| Clase de código | Significado | Siguiente paso |
|---|---|---|
2xx | El comando se completó | Continúa la transacción |
3xx | El servidor aceptó el comando y necesita más datos | Envía la siguiente parte, como el cuerpo del mensaje después de DATA |
4xx | Fallo temporal | Mantén la responsabilidad del mensaje y reintenta cuando la condición del servidor se haya resuelto |
5xx | Fallo permanente para esa solicitud | Corrige la dirección, las credenciales o el mensaje antes de intentar de nuevo |
Lee el comando y el código juntos. Un 535 después de la autenticación apunta a credenciales o política de autenticación. Un 552 después de DATA apunta a un límite de tamaño. Un 421 durante la gestión de la conexión apunta a un límite temporal del servidor o de conexiones.
¿Qué protocolo necesita mi aplicación?
Usa SMTP cuando la aplicación envíe correo. Usa IMAP cuando lea y sincronice un buzón existente. Una aplicación que necesite procesamiento de entrada también puede usar un API de correo electrónico entrante, que entrega mensajes procesados sin necesidad de consultar el buzón periódicamente.
Para correo saliente, elige entre un relay SMTP y un HTTP de correo electrónico API. SMTP encaja con bibliotecas y sistemas que ya hablan el protocolo. Un HTTP API encaja en entornos donde abrir y gestionar conexiones SMTP es incómodo.
¿Cómo ayuda Bird con el envío de SMTP?
Para enviar a través de Bird, configura el host del relay para la región de tu clave, elige el puerto 465, 587 o 2525, y autentícate con el nombre de usuario bird más tu clave API. La guía de retransmisión de SMTP proporciona los límites de conexión y el manejo de códigos de respuesta ante una transferencia fallida.
¿Puedo usar IMAP para enviar correo electrónico?
No. IMAP recupera y sincroniza datos del buzón. El envío requiere SMTP o un HTTP de correo electrónico API.
¿Cuál es la diferencia entre IMAP y POP3?
Ambos recuperan correo, pero IMAP mantiene el buzón en el servidor y sincroniza el estado entre clientes. POP3 tradicionalmente descarga los mensajes a un solo cliente, por lo que no ofrece el mismo estado de buzón compartido.
¿Qué puerto SMTP debo usar?
Usa 587 para envío autenticado con STARTTLS, o 465 para una conexión cifrada implícita cuando tu cliente lo espere. El puerto 25 es para retransmisión entre servidores y suele estar bloqueado para uso directo desde un cliente. ¿Qué puerto SMTP debo usar? compara los puertos y sus funciones.
En resumen
SMTP envía y retransmite correo.
Mueve un mensaje desde un cliente o aplicación al siguiente servidor de correo y luego a través de saltos de retransmisión hasta el destinatario.
IMAP recupera y sincroniza un buzón.
Permite a los clientes leer mensajes y mantener carpetas, marcas y estado de lectura alineados con el servidor.
Los códigos de respuesta te indican qué hacer a continuación.
Un código 2xx completó el comando, un código 4xx es temporal y un código 5xx requiere una corrección antes de reintentar.
La guía de retransmisión SMTP de Bird cubre la configuración de envío.
Úsala para el host, los puertos, el flujo de autenticación y los detalles de solución de problemas específicos de SMTP.
