18 julio, 2024

Los correos electrónicos son una de las herramientas de comunicación más vitales en la era digital. Detrás de cada mensaje que enviamos y recibimos, existe una estructura compleja que asegura su correcta entrega y recepción. En el corazón de esta estructura están las cabeceras de los correos electrónicos. Estas cabeceras no solo facilitan la transmisión de mensajes, sino que también juegan un papel crucial en la autenticación, la seguridad, y el filtrado de spam. En este artículo, exploraremos la historia y evolución de las cabeceras de los correos electrónicos, y cómo han llegado a ser tan esenciales en la comunicación digital.

Los Primeros Días del Correo Electrónico

El concepto de correo electrónico comenzó a tomar forma en la década de 1960 con la creación de ARPANET, la red precursora de Internet. Los primeros correos electrónicos eran simples mensajes de texto enviados entre usuarios en la misma red. No existían estándares universales, y cada sistema implementaba sus propios métodos para el envío y recepción de mensajes.

Nacimiento de los Estándares: RFC 733 y RFC 822

Con el crecimiento de las redes informáticas y la necesidad de interoperabilidad entre diferentes sistemas, se hizo evidente la necesidad de un estándar común. En 1977, se publicó el RFC 733, titulado “Standard for the Format of ARPA Network Text Messages”. Este documento estableció las primeras reglas formales para el formato de los correos electrónicos, incluyendo las cabeceras básicas que conocemos hoy.

El RFC 733 fue sucedido por el RFC 822 en 1982, que refinó y expandió las reglas para el formato de los correos electrónicos. Este estándar definió una estructura clara para las cabeceras de los correos electrónicos, estableciendo campos obligatorios y opcionales, y proporcionando un marco para la extensión futura.

Evolución y Seguridad: MIME y SPF

A medida que el uso del correo electrónico se expandía, también lo hacía la necesidad de enviar contenido más allá del simple texto. En 1993, se introdujo MIME (Multipurpose Internet Mail Extensions), que permitió a los correos electrónicos contener múltiples partes con diferentes tipos de contenido, como texto enriquecido, imágenes, y archivos adjuntos. MIME también trajo consigo nuevas cabeceras para manejar estos contenidos de manera efectiva.

La seguridad y la autenticación de los correos electrónicos también se convirtieron en una preocupación importante con el tiempo. El aumento del spam y el phishing llevó al desarrollo de tecnologías como SPF (Sender Policy Framework) y DKIM (DomainKeys Identified Mail) a principios de la década de 2000. Estas tecnologías introdujeron nuevas cabeceras que ayudaron a verificar la autenticidad de los remitentes y a reducir el correo no deseado.

La Era Moderna: ARC y Antispam

En la actualidad, la infraestructura del correo electrónico es increíblemente compleja. Con la adopción generalizada de servicios de correo en la nube y la interconexión de múltiples proveedores de servicios, asegurar la integridad y autenticidad de los correos electrónicos se ha vuelto más desafiante.

Para abordar estos desafíos, se desarrolló el protocolo ARC (Authenticated Received Chain), que permite a los servidores de correo autenticar y preservar la cadena de autenticación a medida que los mensajes pasan a través de múltiples intermediarios. Esta innovación ayuda a mantener la confianza en la autenticación de los correos electrónicos incluso en entornos complejos.

Además, las técnicas de filtrado antispam han evolucionado significativamente. Los proveedores de servicios de correo electrónico ahora emplean algoritmos avanzados y análisis de big data para detectar y filtrar el spam de manera más efectiva. Estas tecnologías generan una serie de cabeceras adicionales que detallan el proceso de análisis y el resultado del filtrado.

Las cabeceras de los correos electrónicos son mucho más que simples metadatos. Desde los primeros días del correo electrónico hasta la complejidad del sistema actual, las cabeceras han evolucionado para cumplir roles esenciales en la entrega, autenticación, y seguridad de los mensajes. A medida que la tecnología continúa avanzando, podemos esperar que las cabeceras de los correos electrónicos sigan adaptándose para enfrentar nuevos desafíos y asegurar que nuestras comunicaciones digitales permanezcan seguras y confiables.

Un mensaje de correo electrónico incluye varias cabeceras (headers) que contienen metadatos sobre el mensaje. Aquí hay algunas cabeceras comunes.

Cabeceras Comunes en un Mensaje de Correo Electrónico

Return-Path

  • Descripción: Esta cabecera contiene la dirección de correo electrónico a la que deben devolverse los mensajes que no pueden ser entregados. Es establecida por el servidor de correo remitente y se utiliza para manejar los mensajes de rebote.
  • Ejemplo: Return-Path: <bounce@example.com>

X-Original-To

  • Descripción: Esta cabecera indica la dirección original del destinatario antes de que cualquier alias o reenvío haya sido aplicado. Es útil para sistemas que manejan direcciones de correo que pueden ser reenviadas o alias.
  • Ejemplo: X-Original-To: originalrecipient@example.com

From

  • Descripción: Indica la dirección de correo electrónico del remitente del mensaje.
  • Ejemplo: From: sender@example.com

To

  • Descripción: Indica la dirección de correo electrónico del destinatario principal del mensaje.
  • Ejemplo: To: recipient@example.com

Cc

  • Descripción: Contiene las direcciones de correo electrónico de los destinatarios a los que se envía una copia del mensaje (con copia).
  • Ejemplo: Cc: ccrecipient@example.com

Bcc

  • Descripción: Contiene las direcciones de correo electrónico de los destinatarios a los que se envía una copia oculta del mensaje (con copia oculta).
  • Ejemplo: Bcc: bccrecipient@example.com

Subject

  • Descripción: Contiene el asunto del mensaje.
  • Ejemplo: Subject: Reunión de Proyecto

Date

  • Descripción: Indica la fecha y la hora en que se envió el mensaje.
  • Ejemplo: Date: Tue, 6 Jun 2024 14:32:00 +0200

Message-ID

  • Descripción: Proporciona un identificador único para el mensaje de correo electrónico.
  • Ejemplo: Message-ID: <unique.message.id@example.com>

Reply-To

  • Descripción: Indica la dirección de correo electrónico a la que deben enviarse las respuestas al mensaje.
  • Ejemplo: Reply-To: replyto@example.com

MIME-Version

  • Descripción: Indica la versión del protocolo MIME (Multipurpose Internet Mail Extensions) utilizado en el mensaje.
  • Ejemplo: MIME-Version: 1.0

Content-Type

  • Descripción: Especifica el tipo de contenido del mensaje (texto, HTML, imágenes, etc.) y el conjunto de caracteres.
  • Ejemplo: Content-Type: text/plain; charset=UTF-8

Received

  • Descripción: Se utiliza para registrar cada servidor por el que pasa el mensaje, útil para el rastreo del recorrido del mensaje.
  • Ejemplo: Received: from mail.example.com (mail.example.com [192.0.2.1]) by receivingserver.com with SMTP; Tue, 6 Jun 2024 14:32:00 +0200

Return-Path

  • Descripción: Dirección de correo a la que deben devolverse los mensajes que no pueden ser entregados.
  • Ejemplo: Return-Path: <bounce@example.com>

X-Original-To

  • Descripción: Dirección original del destinatario antes de cualquier alias o reenvío.
  • Ejemplo: X-Original-To: originalrecipient@example.com

Delivered-To

  • Descripción: Dirección de correo electrónico a la que finalmente se entregó el mensaje.
  • Ejemplo: Delivered-To: finalrecipient@example.com

Received-SPF

  • Descripción: Resultado de la verificación SPF (Sender Policy Framework) para el correo recibido.
  • Ejemplo: Received-SPF: pass (example.com: domain of sender@example.com designates 192.0.2.1 as permitted sender)

ARC-Seal

  • Descripción: Contiene información sobre la autenticación del mensaje, parte del protocolo ARC (Authenticated Received Chain).
  • Ejemplo: ARC-Seal: i=1; a=rsa-sha256; t=1591834940; cv=none; d=example.com; s=arc; b=base64encodedseal

ARC-Message-Signature

  • Descripción: Firma del mensaje que forma parte de la autenticación ARC.
  • Ejemplo: ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=arc; h=from:to:subject:date; bh=base64encodedhash; b=base64encodedmessage

ARC-Authentication-Results

  • Descripción: Resultados de la autenticación del mensaje según el protocolo ARC.
  • Ejemplo: ARC-Authentication-Results: i=1; example.com; dkim=pass header.d=example.com

X-MS-Exchange-Authentication-Results

  • Descripción: Resultados de la autenticación según Microsoft Exchange.
  • Ejemplo: X-MS-Exchange-Authentication-Results: example.com; dkim=none (message not signed)

From

  • Descripción: Dirección de correo electrónico del remitente del mensaje.
  • Ejemplo: From: sender@example.com

To

  • Descripción: Dirección de correo electrónico del destinatario principal del mensaje.
  • Ejemplo: To: recipient@example.com
Subject
  • Descripción: Asunto del mensaje.
  • Ejemplo: Subject: Reunión de Proyecto
Date
  • Descripción: Fecha y hora en que se envió el mensaje.
  • Ejemplo: Date: Tue, 6 Jun 2024 14:32:00 +0200
Message-ID
  • Descripción: Identificador único para el mensaje de correo electrónico.
  • Ejemplo: Message-ID: <unique.message.id@example.com>
MIME-Version
  • Descripción: Versión del protocolo MIME utilizado en el mensaje.
  • Ejemplo: MIME-Version: 1.0
Content-Type
  • Descripción: Tipo de contenido del mensaje y conjunto de caracteres.
  • Ejemplo: Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding
  • Descripción: Método de codificación utilizado para transferir el cuerpo del mensaje.
  • Ejemplo: Content-Transfer-Encoding: base64
X-EOPAttributedMessage
  • Descripción: Información específica de Microsoft Exchange Online Protection sobre el mensaje.
  • Ejemplo: X-EOPAttributedMessage: 0
X-MS-PublicTrafficType
  • Descripción: Tipo de tráfico público según Microsoft.
  • Ejemplo: X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic
  • Descripción: Diagnóstico del tipo de tráfico según Microsoft.
  • Ejemplo: X-MS-TrafficTypeDiagnostic: example.com;1
X-MS-Office365-Filtering-Correlation-Id
  • Descripción: Identificador de correlación para la filtración de Office 365.
  • Ejemplo: X-MS-Office365-Filtering-Correlation-Id: correlation-id
X-MS-Exchange-AtpMessageProperties
  • Descripción: Propiedades del mensaje relacionadas con Advanced Threat Protection en Exchange.
  • Ejemplo: X-MS-Exchange-AtpMessageProperties: ATP properties
X-MS-Exchange-SenderADCheck
  • Descripción: Resultado de la verificación del remitente en el Active Directory de Exchange.
  • Ejemplo: X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay
  • Descripción: Información sobre el relay antispam de Exchange.
  • Ejemplo: X-MS-Exchange-AntiSpam-Relay: ExampleRelay
X-Microsoft-Antispam
  • Descripción: Información sobre el filtrado antispam de Microsoft.
  • Ejemplo: X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(601004);
X-Microsoft-Antispam-Message-Info
  • Descripción: Información adicional sobre el filtrado antispam de Microsoft.
  • Ejemplo: X-Microsoft-Antispam-Message-Info: info
X-Forefront-Antispam-Report
  • Descripción: Informe del filtrado antispam de Forefront.
  • Ejemplo: X-Forefront-Antispam-Report: report
X-OriginatorOrg
  • Descripción: Organización de origen del mensaje.
  • Ejemplo: X-OriginatorOrg: example.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime
  • Descripción: Hora original de llegada del mensaje en un entorno de varios inquilinos (multi-tenant).
  • Ejemplo: X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2024 14:32:00 +0200
X-MS-Exchange-CrossTenant-Network-Message-Id
  • Descripción: Identificador de mensaje en la red para entornos multi-tenant.
  • Ejemplo: X-MS-Exchange-CrossTenant-Network-Message-Id: id
X-MS-Exchange-CrossTenant-Id
  • Descripción: Identificador del inquilino en entornos multi-tenant.
  • Ejemplo: X-MS-Exchange-CrossTenant-Id: tenant-id
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp
  • Descripción: IP de conexión atribuida originalmente en entornos multi-tenant.
  • Ejemplo: X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: ip
X-MS-Exchange-CrossTenant-AuthSource
  • Descripción: Fuente de autenticación en entornos multi-tenant.
  • Ejemplo: X-MS-Exchange-CrossTenant-AuthSource: authsource
X-MS-Exchange-CrossTenant-AuthAs
  • Descripción: Entidad autenticada en entornos multi-tenant.
  • Ejemplo: X-MS-Exchange-CrossTenant-AuthAs: authas
X-MS-Exchange-CrossTenant-FromEntityHeader
  • Descripción: Entidad remitente en entornos multi-tenant.
  • Ejemplo: X-MS-Exchange-CrossTenant-FromEntityHeader: fromentity
X-MS-Exchange-Transport-CrossTenantHeadersStamped
  • Descripción: Encabezados cruzados estampados en el transporte de Exchange.
  • Ejemplo: X-MS-Exchange-Transport-CrossTenantHeadersStamped: stamped
X-Spam-Flag
  • Descripción: Indica si el mensaje ha sido marcado como spam.
  • Ejemplo: X-Spam-Flag: YES
X-Spam-Status
  • Descripción: Resultado del análisis de spam del mensaje.
  • Ejemplo: X-Spam-Status: Yes, score=5.0
X-Spam-Report
  • Descripción: Informe detallado del análisis de spam.
  • Ejemplo: X-Spam-Report: Spam detection results: score=5.0
X-Spam-Level
  • Descripción: Nivel de puntuación de spam del mensaje.
  • Ejemplo: X-Spam-Level: *
X-Spam-Checker-Version

  • Descripción: Versión del software de detección de spam utilizado.
  • Ejemplo: X-Spam-Checker-Version: SpamAssassin 3.4.0

¿Conoces alguna cabecera que no esté listada?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *