Para algunos escenarios, es posible que te pidamos que nos envíes las cabeceras completas de un correo para investigar un caso. Puedes leer más acerca de cómo ver y descargar cabeceras aquí.
Pero qué es la cabecera de un mensaje, y por qué te lo pedimos?
Un correo electrónico lo forman tres partes: el sobre (envelope), la cabecera (header) y el cuerpo (body).
El sobre es una parte del mensaje que los servidores necesitan usar durante el tránsito para poder enviar el mensaje, y no llegarán al usuario final. No entraremos en detalle pues esta parte es muy técnica y no es relevante para el objetivo de este artículo.
Los campos de la cabecera contienen información sobre el mensaje, como el emisor, el receptor, y el asunto. Si el mensaje incluye un cuerpo (lo cual es opcional, técnicamente), éste se separará de los campos de cabecera por una línea en blanco.
En este ejemplo simplificado de cabecera de mensaje, podemos ver tres líneas de cabecera, y después, el cuerpo del mensaje.
Las cabeceras del mensaje contendrán todas las líneas de cabecera que hayan sido añadidas durante el tránsito del mensaje a lo largo de los servidores por los que haya pasado. Nos aportarán información sobre qué ocurrió con el mensaje en el pasado, y deben ser leídas de abajo hacia arriba, para leerlas en orden cronológico.
No sólo el servidor de envío añade líneas aquí. Cada vez que un servidor de correo (MTA) envía o recibe un mensaje, añade nuevas líneas a la cabecera con sus propias marcas de tiempo. Esto es especialmente útil cuando hay que investigar demoras en entregas, o cuando un mensaje parece haber desaparecido en algún momento durante el tránsito.
Ésta parte suele tener un aspecto parecido a éste (versión sanitizada para fines ilustrativos)
Received: from xxxx.hornetsecurity.com ([x.x.30.2]) by xxxx.hornetsecurity.com with LMTP id QDWuE/o2nWCGCgAA0BVMZw (envelope-from <xxxx@hornetsecurity.com>) for <user@domain.com>; Thu, 13 May 2021 16:26:02 +0200 Received: from xxxx.hornetsecurity.com ([127.0.0.1]) by xxxx.hornetsecurity.com with LMTP id yOZqE/o2nWB8SgAAg7zoWw (envelope-from <xxxx@hornetsecurity.com>) for <user@domain.com>; Thu, 13 May 2021 16:26:02 +0200 Received: from xxxx.antispameurope.com (unknown [x.x.30.2]) by xxxx.hornetsecurity.com (Postfix) with ESMTP id 4A98617XXXX for <user@domain.com>; Thu, 13 May 2021 16:26:02 +0200 (CEST) Received: from xxxx.antispameurope.com (xx.x.65.63) by xxxx.hornetsecurity.com; Thu, 13 May 2021 16:26:02 +0200 Received: from xxxx.hornetsecurity.com (cp.hornetsecurity.com [xx.xxx.132.160]) by xxxx.antispameurope.com (ASE-secure-MTA) with ESMTP id 2024613XXXX for <user@domain.com>; Thu, 13 May 2021 16:24:45 +0200 (CEST) Received: from xxxx.outbound.protection.outlook.com ([X.X.12.58]) by xxxxxx.antispameurope.com; Thu, 13 May 2021 09:39:19 +0200 |
Cuando investiguemos una incidencia, es posible que te pidamos que descargues las cabeceras del mensaje desde el buzón del destinatario ya que, como estas líneas son añadidas durante el tránsito, el destinatario tendrá la versión más completa de las mismas. Es por esto que son llamadas cabeceras "completas" del mensaje.
Es posible que a menudo encuentres líneas de cabecera que empiezan con "X-". Esto significa que son líneas personalizadas y opcionales, que los proveedores de correo pueden decidir incluir con información adicional.
Como no tienen un formato estandarizado y pueden ser diseñadas libremente, normalmente son más difíciles de entender, y puede que no resulten útiles para todo el mundo.
Aquí un ejemplo de las cabeceras de un mensaje, que incluye múltiples de éstas líneas, añadidas por diferentes proveedores:
X-OriginatorOrg: hornetsecurity.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: XXXX.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6xxxx844-xx12-4a17-d357-08d91xxxx X-MS-Exchange-CrossTenant-originalarrivaltime: 13 May 2021 07:39:14.0722 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 47a5xxxx-3e3a-4e87-xxxx-2444d6bxxxx X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 7N+8/bE0YuGEQHZ4QfQXvK6tOlyAOaGrDl676+seUPpeDMqOM8BnWWRrELA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: XXXX08MB5115 X-cloud-security-sender:user@hornetsecurity.com X-cloud-security-recipient:test@domain.com X-cloud-security-crypt: load encryption module X-cloud-security-Mailarchiv: E-Mail archived for: user@hornetsecurity.com X-cloud-security-Mailarchivtype:outbound X-cloud-security-Virusscan:CLEAN X-cloud-security-disclaimer: This E-Mail was scanned by E-Mailservice on mx-xxxx-xxx.antispameurope.com with 4FC87124XXXX X-cloud-security-connect: xxxx.outbound.protection.outlook.com[XX.XX.12.58], TLS=1, IP=XXX.XX.12.58 X-cloud-security-Digest:xxxx0f161c14xxxx66e5b691981xxxx X-cloud-security:scantime:2.002 X-antispameurope-sender:user@hornetsecurity.com X-antispameurope-recipient:test@domain.ccom X-antispameurope-MSGID:XXXX4d758bd5a0301e58325f633d1c4-01dbb84d035b7c51XXX X-antispameurope-body-digest:71aff352e1f66 X-antispameurope-filter:QUAR ID=16XXX08XX85 X-antispameurope-SPFRESULT: PASS X-antispameurope-orig-ip:XX.XXX.132.8 X-antispameurope-orig-host:mxXXX.hornetsecurity.com X-antispameurope-orig:xxxxd86a3a85284e76732081041xxxx X-antispameurope-disclaimer: This E-Mail was scanned by www.antispameurope.com E-Mailservice on mx-xxxx-xx with XDF1A6XXXX X-antispameurope-date:1620891562 X-antispameurope:INCOMING: X-antispameurope-Connect:mxxx.hornetsecurity.com[xx.xxx.132.8],TLS=1;EMIG=0 X-antispameurope-WC:3:456:4:272291:1:200:0:1:0:1:0:0:2:3:1:5:4:56:162:56:0:0:0:0:0:41:0:0:0:2:0:0:0:0::0:1:0:0:0:0:0 X-antispameurope-orig-Spamstatus: SPAM X-antispameurope-orig-REASON: compliance-Rule-QUAR-ID=1606885 x-hornetsecurity-delivered: SPAM:support:api:all X-antispameurope-orig-MSGID: xxxxxx58bd5a0301e58xxxx33d1c4-01dbb84d035b7c51857003ecxxxx Message-Id: <xxxxxxxxx@xxxx-xxx.antispameurope.com> X-antispameurope-sender:control@hornetsecurity.com X-antispameurope-recipient:test@domain.com X-antispameurope-MSGID:xxxx1d4684712b40486c264bd29d1005-01dbb84d035b7c51857003ecb2cexxxx X-antispameurope-body-digest:834c96871aff352e1f665c1c1a61xxxx X-antispameurope-Mailarchiv: E-Mail archived by www.antispameurope.com for: test@domain.com X-antispameurope-Mailarchivtype:inbound X-antispameurope-Virusscan:CLEAN X-antispameurope-filter:QUAR ID=16068XX X-antispameurope-SPFRESULT: NONE X-antispameurope-disclaimer: This E-Mail was scanned by www.antispameurope.com E-Mailservice on mx-xxxxx-xxx with 6D8B7394171C X-antispameurope-date:1620915990XX X-antispameurope:INCOMING: X-antispameurope-Connect:xxxxx.antispameurope.com[XX.XXX.65.63],TLS=1;EMIG=0 X-antispameurope-WC:3:456:4:273672:1:200:0:1:0:1:0:0:2:3:1:5:4:56:162:56:0:0:0:0:0:41:0:0:0:2:0:0:0:0::0:1:0:0:0:0:0 X-antispameurope-Spamstatus:CLEAN X-antispameurope-REASON:Statusmail:Statusmail |
Aquí detallamos algunas de las más comunes por nuestra parte:
"X-antispameurope-sender"
Este campo hará referencia al nombre de cuenta que envía el mensaje a nivel conexión durante la conocida como transacción SMTP. Este campo es conocido comúnmente como envelope-from.
Este campo es vital al evaluar la autenticidad del mensaje, pero también a la hora de crear reglas de contenido en las que queremos que el emisor del mensaje sea uno de los criterios que activen la regla.
Usar el campo "De" (o header.from) en este tipo de reglas no funcionaría, en caso que el envelope.from y el header.from no coincidan. Esto es común en correos autogenerados, enviados desde listas de distribución, formularios web, cuentas delegadas, envíos desde alias, y mensajes que por ejemplo, carezcan de envelope.from.
"X-antispameurope-recipient"
Esta línea hace referencia a la dirección a la que entregamos el mensaje.
Normalmente coincidirá con lo que contenga el campo "Para" de la cabecera, pero no siempre es así. Por ejemplo, podría ser distinto cuando al mensaje le afecta una regla de contenido cuya consecuencia es un cambio de destinatario. Igual en mensajes enviados a una lista de distribución, donde el mensaje podría haber sido enviado por ejemplo "Para" info@, pero en realidad estamos entregando una copia del mensaje para cada uno de sus miembros.
"x-hornetsecurity-delivered"
Ésta línea tan sólo la añadiremos a la cabecera si el mensaje ha sido bloqueado por nuestros filtros, y posteriormente ha sido liberado desde un Informe de Cuarentena o desde el Email Live Tracking en el Panel de Control. Dependiendo de quién haya liberado el correo, el valor podría cambiar entre "user:api:all", "admin:api:all", o "support:api:all"
"X-antispameurope-orig-ip"
Ésta será la IP desde la que nosotros recibimos el mensaje, y es la IP que usaremos, por ejemplo, para realizar comprobaciones de SPF. Aclarar que el servidor que genera el mensaje no tiene por qué ser el mismo que envía el mensaje a internet.
Aclarar que cada servidor deberá comprobar la legitimidad del servidor que le hace entrega del correo. Por ejemplo si un correo se genera en Microsoft 365, se envía a través de nuestro relay, y nosotros lo entregamos en Yahoo, Yahoo comprobará nuestras IP's y nombre de host, y no sabrá dónde se generó el mensaje.
"X-antispameurope-orig-host"
El nombre del servidor que nos entregó el correo. Útil también a la hora de crear reglas y filtros, y sirve de refuerzo para investigar cabeceras incompletas.
"X-antispameurope-orig-MSGID"
Aquí se especifica la ID del mensaje que es el identificador único y público de un mensaje.
"X-antispameurope-MSGID"
Este es una ID de mensaje adicional que añadimos nosotros en este caso. Esta ID nos ayudará cuando investiguemos qué pasó con un mensaje dentro de nuestra plataforma. Este es un buen ejemplo de línea de cabecera que tan sólo resulta útil para el servidor o proveedor que la añadió, en este caso, nosotros.
"X-antispameurope-SPFRESULT:"
"X-antispameurope-orig-Spamstatus:"
Este campo mostrará cual fue nuestra clasificación original del mensaje cuando pasó por nuestros filtros, y esta línea se incluye en la cabecera antes de considerar configuraciones a nivel usuario o administrador.
Por ejemplo, un mensaje que especifique "SPAM" aquí, podría haber sido entregado al destinatario debido a alguna lista blanca, regla de contenido, o porque el mensaje fué liberado por el usuario o un administrador.
Lecturas adicionales: