Servidores de correo electrónico y sus protocolos
Un sistema de correo electrónico distingue dos funciones básicas: el envío de mensajes (correo saliente) y la recepción/consulta de mensajes (correo entrante). Cada función la gestiona un protocolo distinto de la familia TCP/IP: SMTP para el correo saliente y POP3 o IMAP para el correo entrante. Conviene tener claro que SNMP (Simple Network Management Protocol) NO es un protocolo de correo electrónico, sino de gestión de red.
SMTP (Simple Mail Transfer Protocol)
SMTP es el protocolo de correo saliente: se emplea para enviar mensajes desde un cliente a un servidor de correo y, sobre todo, para transferirlos de un servidor a otro a través de Internet. Está definido en la RFC 5321 (que actualiza la RFC 2821). En un envío completo, SMTP se usa desde el ordenador del usuario de origen hasta el servidor de origen y de este al servidor de destino; después, POP3 o IMAP entregan el mensaje desde el servidor de destino al ordenador del destinatario cuando este se conecta.
Puertos SMTP:
| Puerto | Uso |
|---|---|
| 25 | SMTP estándar (transferencia entre servidores, MTA-MTA) |
| 465 | SMTP con SSL implícito (cifrado desde el primer byte) |
| 587 | Envío (submission) con STARTTLS (arranca en claro y actualiza a TLS) |
El protocolo STARTTLS en SMTP permite negociar una capa de cifrado TLS sobre una conexión existente, proporcionando una forma segura de transmitir el correo por Internet sin necesidad de un puerto dedicado a SSL implícito.
Comandos SMTP principales:
-
HELO / EHLO: inician la sesión. EHLO es el comando recomendado para abrir una sesión en servidores que admiten extensiones ESMTP (RFC 2821/5321); HELO es la forma clásica.
-
MAIL FROM: indica el remitente.
-
RCPT TO: indica el destinatario del mensaje.
-
DATA: anuncia el comienzo del cuerpo del mensaje. Si se acepta, el servidor responde con un mensaje intermedio 354 que indica que puede iniciarse el envío del cuerpo (termina con
<CRLF>.<CRLF>). -
AUTH: permite autenticarse en el servidor de correo.
-
RSET: reinicia la transacción; NOOP, QUIT, VRFY: sin operación, cierre y verificación.
La secuencia típica de una sesión SMTP simple según la RFC 2821 es: HELO, MAIL FROM, RCPT TO, DATA.
Según la RFC 5321 (sección 4.5.1), una implementación mínima debe tener implementados en todos los receptores los comandos: EHLO, HELO, MAIL, RCPT, DATA, RSET, NOOP, QUIT, VRFY.
Códigos de respuesta SMTP (numéricos de tres dígitos):
| Código | Significado |
|---|---|
| 220 | El servidor está listo para recibir comunicación (saludo inicial) |
| 221 | El servidor cierra la conexión una vez establecida la comunicación |
| 250 | Acción solicitada completada correctamente |
| 354 | Iniciar la entrada del mensaje (respuesta a DATA) |
| 553 | La dirección de los parámetros "DE" o "PARA" no se registra correctamente (nombre de buzón no permitido) |
POP3 (Post Office Protocol v3)
POP3 es un protocolo de correo entrante. Se pone en contacto con el servicio de correo y descarga todos los mensajes nuevos en el dispositivo del cliente, y puede eliminarlos del servidor tras la descarga. Su modelo natural reduce el uso de espacio en el servidor, pero está pensado para un único dispositivo.
-
Puerto por defecto: 110 (sin cifrar). Con SSL/TLS (POP3S): puerto 995.
-
Configurando la opción de "mantener copia en el servidor", POP3 permite descargar los mismos correos en varios dispositivos configurados con la misma cuenta.
-
Comandos: STAT (devuelve el número de mensajes en el servidor y el total que ocupan en bytes), RSET (resetea la sesión), LIST, RETR, DELE, QUIT.
IMAP (Internet Message Access Protocol)
IMAP es un protocolo de correo entrante orientado a mantener los mensajes en el servidor. Permite gestionar y manipular los mensajes directamente en el servidor sin necesidad de descargarlos, y acceder a los correos desde múltiples ubicaciones/dispositivos sin eliminarlos del servidor, manteniéndolos sincronizados con el cliente. Esta es su principal ventaja frente a POP3, que descarga localmente.
-
Puerto por defecto: 143.
-
IMAP sobre TLS / IMAP4-SSL (IMAPS): puerto 993 (TCP).
-
Comandos: SUBSCRIBE (suscribirse a una carpeta específica del servidor), SELECT, FETCH, STORE, SEARCH, etc.
Diferencia clave POP3 vs IMAP: POP3 descarga los correos al dispositivo local (gestión offline, ahorro de espacio en servidor); IMAP los mantiene y gestiona en el servidor, sincronizándolos entre múltiples clientes.
Seguridad en la transmisión
Para garantizar confidencialidad se emplean las variantes cifradas: POP3S e IMAPS, que son los protocolos clásicos encapsulados en túneles de cifrado SSL/TLS. Es importante distinguir: TLS cifra la comunicación en tránsito, pero NO el contenido del mensaje en origen. Para cifrar el propio contenido de extremo a extremo se usa S/MIME (envío de correo seguro con firma y cifrado).
Microsoft Exchange Server y Exchange ActiveSync
Microsoft Exchange Server es un servidor de correo electrónico al que puede accederse mediante un navegador web (Outlook on the web/OWA) y que es compatible con aplicaciones cliente como Microsoft Outlook. Ofrece correo, calendario y contactos, pero NO proporciona funcionalidades ajenas al correo como la administración de acceso remoto seguro a archivos del sistema operativo.
Exchange ActiveSync (EAS) es un protocolo cliente de sincronización basado en HTTP y XML que permite a los dispositivos móviles sincronizar su buzón (correos, calendario, contactos) alojado en servidores Exchange, incluso trabajando sin conexión. Características relevantes:
-
Soporta mensajes en formato HTML.
-
Está basado en HTTP y XML (NO en JSON): es FALSO afirmar que reduce el peso de los mensajes empleando JSON.
Fuentes
-
IETF RFC 5321, Simple Mail Transfer Protocol (comandos, implementación mínima §4.5.1, códigos de respuesta): https://datatracker.ietf.org/doc/html/rfc5321
-
IETF RFC 2821, Simple Mail Transfer Protocol (EHLO/ESMTP, secuencia): https://datatracker.ietf.org/doc/html/rfc2821
-
IETF RFC 1939, Post Office Protocol - Version 3 (comandos STAT, RSET): https://datatracker.ietf.org/doc/html/rfc1939
-
IETF RFC 3501, Internet Message Access Protocol - Version 4rev1: https://datatracker.ietf.org/doc/html/rfc3501
-
IANA Service Name and Transport Protocol Port Number Registry (puertos 25, 110, 143, 465, 587, 993, 995): https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
-
Microsoft Learn, Exchange Server y Exchange ActiveSync: https://learn.microsoft.com/en-us/exchange/clients/exchange-activesync/exchange-activesync