Page cover

Mailing

Funcionamiento servicio de mailing

Protocolo POP3

El protocolo POP3 permite la recepción de correo electrónico almacenado en un servidor, desde un cliente que posea una cuenta en dicho servidor. El servicio POP3 escucha solicitudes en el puerto 110 (aunque puede configurarse otro puerto, no es lo recomendable).

Cuando un cliente desea usar el servicio:

  1. Establece una conexión TCP con el servidor.

  2. El servidor envía un “saludo” inicial.

  3. A partir de ese momento, el cliente puede enviar órdenes para que el servidor las procese.

Fases de una sesión POP3

Una sesión POP3 consta de tres fases principales, cada una con sus comandos asociados. Si se completan correctamente, la sesión se considera exitosa.

  1. Fase de autorización

  2. Fase de transacción

  3. Fase de actualización


1. Fase de autorización

Después del saludo inicial del servidor POP3, comienza la autenticación. El cliente debe demostrar que es un usuario válido. Para ello, se utilizan los siguientes comandos:

  • USER y PASS

  • APOP y AUTH

Reglas para enviar órdenes

  • No se distingue entre mayúsculas y minúsculas (no case sensitive).

  • Deben tener una longitud de 3 o 4 caracteres ASCII imprimibles.

  • Se separan de sus argumentos (de hasta 40 caracteres) por un único espacio.

  • Siempre terminan con CRLF (Carriage Return Line Feed).

El servidor responde a cada orden con un indicador de estado:

  • +OK → respuesta positiva.

  • -ERR → respuesta negativa.

Autenticación segura con APOP

Una alternativa más segura es el uso de APOP, ya que la contraseña viaja cifrada en lugar de en texto plano.

  • El servidor incluye una marca de tiempo en su saludo inicial (entre <>).

  • El cliente responde con la orden APOP, seguida del nombre de usuario y de un hash MD5 generado a partir de la marca de tiempo y un secreto compartido.

Ejemplo de sintaxis:

APOP usuario hash_MD5

2. Fase de transacción

Una vez autenticado el usuario, puede gestionar los mensajes mediante los siguientes comandos:

  • STAT Devuelve información general del buzón. Ejemplo:

    STAT
    +OK 3 6500

    Donde 3 es la cantidad de mensajes y 6500 es el tamaño total en bytes.

  • LIST [N°_mensaje] Muestra información del mensaje indicado o de todos si no se especifica uno. Ejemplo:

    LIST 1
    +OK 1 2400
  • RETR [N°_mensaje] Descarga el contenido del mensaje indicado.

  • DELE [N°_mensaje] Marca un mensaje para eliminación en la fase de actualización.

  • RSET Quita las marcas de eliminación de todos los mensajes.

  • TOP [N°_mensaje] [Cantidad_líneas] Permite visualizar sólo las primeras líneas de un mensaje. Ejemplo:

    TOP 1 20
  • CAPA (Si está implementado) Devuelve las capacidades del servidor.

3. Fase de actualización

Cuando se han realizado todas las operaciones deseadas, se finaliza la sesión con la orden:

QUIT

Al hacerlo:

  • El servidor entra en la fase de actualización.

  • Se eliminan definitivamente los mensajes marcados con DELE.

  • Luego, el servidor vuelve a la fase de autorización.

Acceso mediante Telnet

Es posible interactuar con un servidor POP3 directamente, sin necesidad de un cliente de correo. Para ello, se puede abrir una terminal y ejecutar:

telnet servidor_pop3 110

Antes de comenzar a enviar comandos, conviene habilitar el eco local con:

SET LOCALECHO

Esto permite visualizar las órdenes que se envían al servidor. Este método puede resultar útil para verificar el funcionamiento del servicio o para desarrollar clientes de correo personalizados, independientemente del sistema operativo.


En resumen, POP3 es un protocolo simple pero eficaz para la recepción de correos electrónicos. Comprender sus fases y comandos permite tanto administrar cuentas de correo de forma manual como desarrollar aplicaciones que interactúen directamente con servidores de correo.

🚧 Protocolo IMAP

🚧 Protocolo SMTP

Última actualización