El proceso técnico de envío y recepción de correos electrónicos involucra varios componentes clave, incluyendo el uso de MTA (Mail Transfer Agent) y MDA (Mail Delivery Agent), y medidas de seguridad como SPF, DKIM y DMARC para evitar la falsificación y garantizar la autenticidad del remitente. A continuación se describe el flujo técnico completo con más detalles sobre puertos, ejemplos de protocolos y registros DNS.
Composición del Correo en el Cliente de Correo
- El usuario redacta el correo en un cliente de correo electrónico (como Outlook, Gmail o Thunderbird).
- El correo contiene los encabezados (remitente, destinatario, asunto, etc.) y el cuerpo (mensaje en texto o HTML).
- Formato de contenido: MIME (Multipurpose Internet Mail Extensions) que define cómo se incluyen adjuntos y formatos complejos.
Envío del Correo mediante SMTP y Validación SPF
Conexión al Servidor SMTP (MTA)
El cliente de correo se conecta al MTA (Mail Transfer Agent) del remitente, utilizando el protocolo SMTP (Simple Mail Transfer Protocol).
- Puerto estándar SMTP: 25 (no seguro), 587 (STARTTLS), 465 (SMTP sobre SSL).
- Ejemplo de un servidor MTA: Postfix, Sendmail, Exim.
Comandos SMTP involucrados:
EHLO o HELO: Identificación del cliente.
MAIL FROM: Dirección del remitente.
RCPT TO: Dirección del destinatario.
DATA: Envío del cuerpo del correo.
Validación SPF (Sender Policy Framework)
El SPF verifica que la dirección IP del servidor SMTP está autorizada para enviar correos en nombre del dominio remitente. Esta validación se realiza consultando un registro SPF en el DNS del dominio.
v=spf1 ip4:192.168.1.1 ip4:192.168.2.0/24 include:_spf.google.com ~all
Este registro indica qué direcciones IP están autorizadas para enviar correos desde ese dominio.
Resultado del SPF:
- Si la IP coincide con las permitidas, el servidor del destinatario acepta el correo; si no, puede rechazarlo o marcarlo como spam.
Transferencia del Correo al Servidor del Destinatario (MTA Destinatario)
Una vez que el MTA del remitente ha pasado la validación SPF, busca el servidor MX (Mail Exchanger) del dominio del destinatario mediante una consulta DNS.
- Registro MX en DNS:
example.com. IN MX 10 mail.example.com.
El MTA del remitente se conecta al MTA del destinatario (generalmente por el puerto 25), y transfiere el correo mediante SMTP.
Aplicación de DKIM (DomainKeys Identified Mail)
DKIM es un método de autenticación que asegura la integridad del correo. El servidor SMTP del remitente firma digitalmente el mensaje utilizando una clave privada, y el destinatario verifica esta firma mediante la clave pública publicada en el DNS del dominio remitente.
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=default;
h=from:to:subject:date;
bh=Pa0l…etc…vRVc=;
b=KFwT…etc…==
El servidor del destinatario realiza una consulta DNS para obtener la clave pública y verificar que el mensaje no ha sido alterado en tránsito.
Almacenamiento del Correo en el Servidor del Destinatario (MDA)
Una vez que el correo ha pasado las validaciones, el MTA del destinatario lo entrega al MDA (Mail Delivery Agent). El MDA se encarga de almacenar el mensaje en la bandeja de entrada del destinatario.
- Ejemplos de MDA: Dovecot, Courier.
- El correo es almacenado en formatos como Maildir o mbox, dependiendo de la configuración del servidor.
Recuperación del Correo mediante POP3/IMAP
El destinatario accede a su correo utilizando un cliente de correo mediante los protocolos POP3 o IMAP.
- IMAP (Internet Message Access Protocol): Permite la sincronización de los correos en el servidor y el acceso desde múltiples dispositivos.
- Puerto IMAP: 143 (no seguro), 993 (IMAP sobre SSL).
- POP3 (Post Office Protocol 3): Descarga los correos en el dispositivo local, eliminándolos (opcionalmente) del servidor.
- Puerto POP3: 110 (no seguro), 995 (POP3 sobre SSL).
Resumen Técnico Completo con Detalles Específicos
- Cliente de Correo: El usuario redacta el correo y el cliente lo envía utilizando SMTP.
- Puertos SMTP comunes: 25, 587, 465.
- MTA (Mail Transfer Agent): El servidor SMTP del remitente transfiere el correo al MTA del destinatario.
- Ejemplos de MTA: Postfix, Sendmail, Exim.
- Se realizan validaciones de SPF (autorización del servidor remitente).
- Transferencia del correo: El MTA del remitente busca el servidor MX del destinatario mediante DNS y transfiere el mensaje.
- DKIM: El correo es firmado digitalmente en el servidor remitente y verificado por el servidor destinatario.
- DMARC: El servidor destinatario aplica las políticas DMARC del dominio remitente para manejar correos que fallen las validaciones de SPF o DKIM.
- MDA (Mail Delivery Agent): El correo se almacena en el buzón del destinatario.
- Ejemplos de MDA: Dovecot, Courier.
- Formatos de almacenamiento: Maildir, mbox.
- Recuperación del correo: El destinatario accede a su correo mediante IMAP o POP3.
- Puertos IMAP: 143 (no seguro), 993 (IMAP sobre SSL).
- Puertos POP3: 110 (no seguro), 995 (POP3 sobre SSL).
Este proceso garantiza que los correos electrónicos se envían y reciben de manera segura, con validaciones de autenticidad mediante SPF, DKIM, y DMARC, y asegura que los correos sean entregados correctamente en el buzón del destinatario.