Ícono del sitio Mailtrap

Diferencia entre los Protocolos de Email IMAP, POP3 y SMTP

Tres partes principales están involucradas en la transferencia de un mensaje electrónico: el remitente, el destinatario y el servidor de email. El email va del remitente al servidor de email, que luego permite al destinatario recibir el mensaje.

¿Cuál es el papel de los protocolos de email aquí? Establecer conexiones entre las partes que transfieren. Por lo tanto, se necesita un protocolo para enviar y otro para recibir.

Hoy revisaremos y compararemos los tres protocolos de email más utilizados: IMAP, POP3 y SMTP, y le ayudaremos a elegir la opción correcta para sus necesidades.

¿Qué es un protocolo de email?

Un protocolo de email es una combinación de principios y reglas que hacen posible transferir mensajes entre diferentes servidores, máquinas y clientes de email. Crea estándares que los mensajes deben seguir para llegar a los destinatarios en su estado original.

Por ejemplo, cuando envía un email desde el cliente de Gmail a alguien con dirección de Outlook, espera que todos los archivos adjuntos y elementos del cuerpo estén presentes cuando vean su email. Esto es cierto, ya sea que usen clientes Apple Mail, Microsoft Outlook o Thunderbird para acceder a su bandeja de entrada.

Los protocolos de email también determinan cómo se deben enviar y acceder a los mensajes, qué formato deben tener y qué estructura debe seguir la conexión.

SMTP – un protocolo estándar para enviar emails

¿Qué es SMTP?

El Simple Mail Transfer Protocol (SMTP) establece cómo el mensaje llega del remitente al servidor de email. También, es utilizado por un agente de transferencia de email (MTA) para entregar emails entre servidores. Este proceso se llama retransmisión de email (o relay de SMTP).

SMTP solo está destinado para enviar mensajes de email.

Cómo funciona SMTP

El flujo de trabajo de SMTP consiste en comandos enviados por el cliente SMTP y respuestas correspondientes por el servidor SMTP.

Los comandos SMTP predeterminados son basados en texto, como HELO, MAIL FROM, y otros. A veces, puede encontrarse con comandos SMTP extendidos (ESMTP) como EHLO, STARTTLS, etc.

Las respuestas están representadas por códigos numéricos de finalización (por ejemplo, 220, 250, 354, y así sucesivamente). Para más información sobre los comandos y códigos de respuesta SMTP, lea nuestro artículo detallado.

Cualquier conversación SMTP consta de tres etapas:

Echemos un vistazo a la interacción entre el cliente y el servidor SMTP a través de un ejemplo simple de entrega de email:

Comando o RespuestaQué significa
Cliente:HELO client.rocket.com o EHLO client.rocket.comSe identifica e inicia la conversación SMTP. El nombre de dominio o la dirección IP generalmente se envían como un argumento junto con el comando. EHLO es un comando alternativo para iniciar la conversación. Identifica que el cliente usa el protocolo ESMTP.
Servidor:250OK o completado
Cliente:MAIL FROM:andy@rocket.comDice que una nueva transacción de email está comenzando y especifica el remitente
Servidor:250OK o completado
Cliente:RCPT TO:jane@gmail.comEspecifica el destinatario. (Para múltiples destinatarios, el comando se repetirá para cada dirección del destinatario)
Servidor:250OK o completado
Cliente:DATAInicia la transferencia de los contenidos del email incluyendo texto del cuerpo, archivos adjuntos, etc.
Servidor:354Permite al cliente comenzar la transferencia de contenido
Cliente:Date: Mie, 24 Julio 2019 16:03:23Fecha
Cliente:From: andy@rocket.comEncabezado del remitente
Cliente:Subject: How SMTP worksLínea de asunto
Cliente:To: jane@gmail.comEncabezado del destinatario
Cliente:Línea vacía
Cliente:Espero que no haya sido aburrido:)Texto del cuerpo
Cliente:.Una vez que se han transferido los contenidos del mensaje, se debe enviar un solo punto en una línea para terminar.
Servidor:250OK o completado
Cliente:QUITSolicitud para terminar la conversación SMTP
Servidor:221Cierra el canal de transmisión

Puertos SMTP

Este es un puerto estándar para retransmitir mensajes entre servidores de email. Los proveedores de alojamiento en la nube y muchos clientes de email (Gmail, Microsoft Outlook, Mozilla Thunderbird, etc.) bloquean el puerto 25 para prevenir spam. Generalmente, priorizan conexiones seguras como 587 o 465.

465 no es un puerto compatible con RFC. Estaba destinado para el cifrado y la autenticación SMTPS sobre SMTP. IANA registró 465 como un puerto SMTP, pero nunca ha sido reconocido como un canal oficial de transmisión o envío SMTP.

Más tarde, el puerto 465 se volvió obsoleto y fue revocado a favor del wrapper STARTTLS sobre SMTP. Sin embargo, hoy en día muchos servidores aún usan SMTPS y mantienen el 465.

El puerto SMTP predeterminado 587 es la opción para enviar un email para enrutamiento. El cifrado TLS asegura el envío seguro del email. Casi todos los servidores de email admiten el 587.

No es un puerto SMTP oficial, pero casi cualquier proveedor de servicios de email lo admite. 2525 está asegurado de manera similar al 587 y a menudo se utiliza en lugar de este. Entonces, si el uso del puerto SMTP predeterminado causa algún problema, pruebe con el 2525.

Para más información sobre esto, lea nuestro artículo sobre puertos SMTP.

Y para una inmersión más profunda en las diferencias entre SMTP y un protocolo como IMAP, mire este video:

IMAP4 y POP3 – protocolos para recibir emails

Una vez que el email toca la puerta del servidor de email, se utilizará IMAP o POP3 para recuperarlo. Ambos servidores son agentes de acceso a mensajes (MAAs).

¿Qué es IMAP?

Internet Message Access Protocol (IMAP) es un estándar de comunicación para acceder a los emails. Hoy en día, se usa su cuarta versión, de ahí el nombre IMAP4.

IMAP almacena los emails en un servidor remoto y los descarga bajo demanda cuando el destinatario los abre. Así, el protocolo IMAP accede al email desde cualquier dispositivo o ubicación si está autorizado. Esto permite la sincronización de emails, por lo que IMAP es la opción preferida por la mayoría de los proveedores de servicios de email.

Cómo funciona IMAP

Aquí está el flujo básico de la interacción cliente/servidor IMAP:

Detrás de escena, una conexión IMAP primitiva puede verse así:

Comando del clienteDescripción
LOGINAbre la conexión IMAP
LISTCREATERENAME y otros comandosComandos que te permiten gestionar el buzón
SELECTDefine el buzón actual y abre una sesión IMAP
LISTDOWNLOADDELETE y otros comandosComandos que te permiten gestionar los mensajes
CLOSECierra la sesión IMAP. Si deseas abrir una nueva sesión, puedes hacerlo configurando otro buzón actual. Una vez que se abre la nueva sesión, el servidor IMAP actualiza permanentemente los mensajes según la sesión anterior.
LOGOUTCierra la conexión IMAP

Aquí encontrará una selección completa de comandos del cliente.

¡No puede ser! Olvidamos las respuestas del servidor IMAP. Hay tres formas de ellas:

Pueden incluir un código de respuesta como ALERT o CAPABILITY. Un código de respuesta da información adicional más allá de la condición de respuesta de estado.

Estas respuestas incluyen Estado del Server y Mailbox (CAPABILITY, LIST, etc.), Tamaño del Mailbox (EXISTS y RECENT), y Message Status (EXPUNGE y FETCH).

Esta respuesta confirma que el servidor está listo para aceptar la continuación del comando del cliente. Está representada por un token “+”.

Puertos IMAP

¿Qué es POP3?

Post Office Protocol 3 es una forma más simple de acceder a los buzones de email. Usamos su tercera versión, por eso se llama POP3. A los usuarios les encanta este protocolo por su baja dependencia de las conexiones a Internet.

El protocolo POP3 descarga los emails del servidor a la computadora local, por lo que podrás leerlos incluso sin conexión. El servidor elimina los mensajes una vez que se recuperan. Esta es la configuración predeterminada y común, pero existe la opción de imponer una política del sitio sobre la retención de emails en el servidor.

Al mismo tiempo, incluso si el cliente POP3 contiene opciones de configuración para almacenar emails, el servidor no admitirá tal acción.

Cómo funciona POP3

La conexión POP3 consta de cuatro pasos:

Echemos un vistazo tras bastidores de una sesión POP3.

Comando o RespuestaQué significa
Servidor:El servidor está esperando la conexión en el puerto TCP/IP 110
Cliente:El cliente establece una conexión TCP.
Servidor:+OK POP3 server readySi todo está bien, la respuesta del servidor será consistente. De lo contrario, mostrará -ERR
Cliente:APOP mrose c4c9334bac560ecc979e58001b3e22fbProporciona identificación de origen y protección de repetición para la sesión. mrose es el parámetro de nombre y c4c9334bac560ecc979e58001b3e22fb es el parámetro de resumen. Identifican un buzón y una cadena de resumen MD5.
Servidor:+OKSi todo está bien, la respuesta del servidor será consistente. De lo contrario, mostrará -ERR
Cliente:STATAhora, la sesión entra en el estado de TRANSACCIÓN. El comando STAT pregunta cuántos mensajes hay actualmente en el buzón y su tamaño en octetos.
Servidor:+OK 1 334El buzón tiene un mensaje de 334 octetos.
Cliente:DELE 1Elimina el mensaje.
Servidor:+OK message 1 deletedSi todo está bien, la respuesta del servidor será consistente. De lo contrario, mostrará -ERR
Cliente:QUITUna vez que la sesión termina, el cliente se desconecta mediante el comando QUIT.
Servidor:+OK dewey POP3 server signing off (maildrop empty)Si todo está bien, la respuesta del servidor será consistente. De lo contrario, mostrará -ERR
Cliente:El cliente cierra la conexión TCP.
Servidor:El servidor está esperando la conexión en el puerto TCP 110

Usamos solo dos comandos (DELE y STAT) que son válidos en el estado de TRANSACCIÓN. Puede encontrar más opciones aquí.

En cuanto a las respuestas POP3, contienen un indicador de estado (+OK o -ERR) y una palabra clave que puede ser mejorada con información adicional (por ejemplo, -ERR no such message, only 2 messages in maildrop).

Puertos POP3

IMAP o POP3 – ¿qué protocolo debo elegir?

Al principio, estábamos considerando hacer una tabla con una comparación de los pros y los contras de IMAP y POP3. Pero esta idea resultó inviable ya que los diferentes usuarios tendrán diferentes demandas en términos de los estándares de protocolo de email. Así que decidimos configurarlo de esta manera.

Elija IMAP4 si:

Elija POP3 si:

Si aún no sabe qué protocolo elegir, consulte nuestro artículo sobre las diferencias clave entre IMAP y POP3 o mire este video:

¿Qué hay de HTTP?

HyperText Transfer Protocol (HTTP) es otra opción para acceder a los emails, aunque no es un protocolo de email. Independientemente, HTTP puede usarse para enviar y recibir mensajes desde webmail, como Gmail.com. También es una buena práctica acceder a emails en aplicaciones móviles a través de HTTP.

Este protocolo tiene dos puertos predeterminados: 80 para conexiones no cifradas y 443 para conexiones seguras.

Cómo llega un email del remitente al destinatario

Ahora que sabe para qué se usa cada protocolo de email, hagamos un mapa completo de cómo un mensaje electrónico puede llegar de un remitente (bruce@remitente.com) a un destinatario (jane@receptor.com).

¿Es suficiente configurar protocolos de email para enviar y recibir emails con éxito?

La respuesta corta es no. Aunque los protocolos de email configurados adecuadamente son esenciales, ciertamente no son suficientes. Necesita una infraestructura de email segura con herramientas de entregabilidad integradas para llegar a las bandejas de entrada de los destinatarios.

Para saber más sobre qué es una infraestructura de email, consulte nuestro video detallado:

Junto con la infraestructura de email, también podrá necesitar una bandeja de entrada virtual para recibir todos sus emails de prueba.

Mailtrap es una plataforma única que se encarga de todas sus necesidades relacionadas al email. Pruebe sus emails usando un servidor SMTP falso proporcionado por Email Testing, envíe sus emails con el servidor SMTP confiable de Email API/SMTP y monitoree el rendimiento de su infraestructura. Todo eso con la plataforma de Email Delivery de Mailtrap.

Email Testing es un Sandbox de email que captura todo su tráfico SMTP. Puede usarlo para verificar la funcionalidad de envío de email de su aplicación y ver si el servidor SMTP está configurado correctamente. Con las funciones de Verificación de HTML y Análisis de Spam de Email Testing, abordará los problemas de entregabilidad antes de que su aplicación llegue al entorno de producción.

Una vez que termine con las pruebas, podrá configurar su aplicación para usar el servidor SMTP de Email API/SMTP que entrega sus emails a las bandejas de entrada en segundos. Alternativamente, integre Mailtrap con API para mayor flexibilidad. Cualquiera que sea el método que usted elija, tendrá acceso a las capacidades únicas de monitoreo de Email API/SMTP: análisis procesables con informes detallados y paneles de vista general.

Así es como se verá el flujo de entrega de email si utiliza Email API/SMTP o Email Testing de Mailtrap:

Para más información sobre cómo integrar y usar Mailtrap, consulte nuestra guía de inicio.

Esperamos que nuestro artículo sobre IMAP vs POP3 vs SMTP le haya ayudado a aclarar el complicado mundo de los emails.

Salir de la versión móvil