Un ingeniero de soporte pasó dos días intentando averiguar por qué los emails de un cliente específico llegaban con 6 horas de retraso. El cliente juraba que los había enviado de inmediato. El destinatario juraba que habían llegado horas después. Todos culpaban al sistema de correo de los demás.
La respuesta estaba en los encabezados. Al leer los encabezados Received se reveló que el mensaje estuvo en cola en un servidor de relé intermedio durante 5 horas y 47 minutos. Ese relé era un sistema heredado que el cliente había olvidado que existía, mal configurado y saturado. Diez minutos de análisis de encabezados resolvieron un misterio de dos días.
Los encabezados de email son la caja negra de cada mensaje. Documentan el recorrido completo desde el remitente hasta el destinatario, cada servidor por el que pasó, cada verificación realizada. Aprender a leerlos es una de las habilidades de depuración más valiosas en email.
La estructura de los encabezados de email
Los encabezados de email aparecen al inicio de cada mensaje, antes del contenido del cuerpo. Son una serie de pares campo-valor, cada uno en su propia línea, siguiendo un formato simple: "Field-Name: field value".
Los encabezados cumplen varios propósitos. Algunos identifican el mensaje: From, To, Subject, Date, Message-ID. Algunos registran la ruta de entrega: encabezados Received de cada servidor. Algunos documentan verificaciones de seguridad: Authentication-Results, DKIM-Signature. Algunos controlan el comportamiento: Reply-To, List-Unsubscribe.
El orden de los encabezados importa para algunos fines. Los encabezados Received se agregan en orden cronológico inverso—el más reciente arriba, el original abajo. Leyéndolos de abajo hacia arriba trazas el recorrido del mensaje hacia adelante en el tiempo.
La mayoría de los clientes de email ocultan los encabezados por defecto, mostrando solo From, To, Subject y Date. Para verlos completos, necesitas acceder a "ver origen", "mostrar original", u opciones similares según tu cliente de email.
Encabezados Received: el rastro de entrega
Cada servidor de correo que maneja un mensaje añade un encabezado Received documentando su intervención. Estos encabezados crean una pista de auditoría del recorrido completo del mensaje.
Un encabezado Received típico contiene varias piezas de información: el servidor que recibió el mensaje (el que añade el encabezado), el servidor del que lo recibió, el protocolo usado (SMTP, ESMTP, etc.), y una marca de tiempo.
Leyendo de abajo hacia arriba, puedes trazar el recorrido del mensaje. El encabezado Received más inferior muestra el primer servidor que manejó el mensaje después de salir del cliente de correo del remitente. Cada encabezado posterior muestra el siguiente salto. El encabezado Received superior muestra la entrega final al buzón del destinatario.
Las marcas de tiempo en los encabezados Received ayudan a identificar demoras. Si hay una brecha de 3 horas entre dos encabezados consecutivos, el mensaje estuvo en ese servidor durante 3 horas. Esto señala dónde ocurren los retrasos.
Los campos "from" y "by" identifican servidores. "From" muestra de dónde vino el mensaje; "by" muestra el servidor que añade el encabezado. Desajustes o entradas sospechosas pueden indicar reenvío, relé o potencialmente spoofing.
Encabezados de autenticación
El email moderno incluye encabezados que documentan las verificaciones de autenticación. Estos te dicen si SPF, DKIM y DMARC pasaron o fallaron.
El encabezado Authentication-Results lo añaden los servidores receptores después de realizar las verificaciones de autenticación. Resume los resultados en un formato estructurado: qué comprobaciones se realizaron, si pasaron o fallaron, y detalles relevantes como qué dominio se comprobó o qué clave se usó.
Un resultado de autenticación satisfactorio podría mostrar SPF pass con la dirección IP verificada, DKIM pass con el dominio firmante, y DMARC pass con la política aplicada. Los fallos incluyen códigos de motivo que explican qué salió mal.
El encabezado DKIM-Signature contiene la firma criptográfica real añadida por el servidor emisor. Especifica el algoritmo de firma, el dominio responsable, el selector para la búsqueda de la clave, qué encabezados están firmados y la propia firma.
Al depurar fallos de autenticación, estos encabezados te dicen exactamente qué ocurrió. "DKIM signature verification failed" en Authentication-Results, combinado con examinar el encabezado DKIM-Signature, a menudo revela si la firma estaba mal formada, si faltaba la clave o si el mensaje se modificó en tránsito.
Identificar al remitente real
Varios encabezados se relacionan con la identidad del remitente, y entender sus diferencias importa tanto para la depuración como para la seguridad.
El encabezado From es lo que ven los destinatarios: la dirección que aparece en su cliente de email. Esto es fácil de falsificar; cualquiera puede poner cualquier dirección en el encabezado From.
Return-Path (o Envelope-From) es la dirección a la que se envían los rebotes. Se establece durante la transacción SMTP, no en los encabezados del mensaje, aunque a menudo los servidores receptores lo registran en los encabezados. SPF comprueba esta dirección, no la de From.
El encabezado Sender, cuando está presente, indica quién envió realmente el mensaje en nombre de la dirección de From. Se usa cuando alguien envía email por otra persona, como un asistente que envía en nombre de un ejecutivo.
Reply-To especifica adónde deben ir las respuestas, que puede diferir de From. Usos legítimos incluyen enviar desde una dirección no-reply mientras se dirigen las respuestas a una bandeja monitorizada. Usos ilegítimos incluyen correos de phishing que muestran un From de confianza pero capturan las respuestas en otro lugar.
Para el análisis de seguridad, compara estos encabezados. Los desajustes no siempre son maliciosos—hay razones legítimas para diferencias—pero merecen atención.
Marcas de tiempo y retrasos
Cada encabezado Received incluye una marca de tiempo. Comparar estas marcas de tiempo revela dónde pasaron tiempo los mensajes.
El encabezado Date muestra cuándo se redactó el mensaje (según el reloj del remitente). La marca de tiempo del primer encabezado Received muestra cuándo entró en el sistema de correo. Las marcas posteriores muestran cada salto. La última marca muestra la entrega.
Grandes intervalos entre encabezados Received consecutivos indican puesta en cola. El mensaje llegó a un servidor pero no se reenvió inmediatamente. Esto podría ser intencional (greylisting retrasa remitentes nuevos) o problemático (servidor sobrecargado, problemas de red).
Las diferencias de zona horaria pueden confundir el análisis de marcas de tiempo. Los encabezados podrían mostrar horas en distintas zonas. Convierte todo a una única zona horaria (UTC es lo convencional) antes de calcular intervalos.
La desincronización de relojes entre servidores puede crear anomalías aparentes—un mensaje que parece llegar antes de haberse enviado. Pequeñas discrepancias (segundos a minutos) son normales. Grandes discrepancias sugieren relojes de servidor mal configurados.
Encabezados de spam y filtrado
Muchos servidores de correo agregan encabezados que indican su evaluación de spam. No están estandarizados pero siguen patrones comunes.
X-Spam-Status típicamente muestra si el mensaje fue clasificado como spam y la puntuación que recibió. X-Spam-Score muestra solo la puntuación numérica. X-Spam-Flag es un indicador simple de sí/no.
SpamAssassin, un filtro de spam común, añade encabezados detallados que muestran qué reglas se activaron y sus valores en puntos. Este desglose es inestimable para entender por qué se filtró un mensaje. "MISSING_SUBJECT: 2.5 points" te dice exactamente qué corregir.
Algunos servidores agregan encabezados que indican qué listas negras se comprobaron y si el remitente apareció en alguna. Esto ayuda a diagnosticar problemas de entrega relacionados con listas negras.
Los encabezados específicos del proveedor varían. Gmail agrega encabezados relacionados con su sistema de categorización. Microsoft agrega encabezados sobre sus decisiones de filtrado. Aprender a reconocerlos ayuda al depurar la entrega a proveedores específicos.
Análisis práctico de encabezados
Al depurar problemas de email, un enfoque sistemático del análisis de encabezados ayuda.
Comienza con el encabezado Authentication-Results. ¿Pasaron SPF, DKIM y DMARC? Si no, probablemente ya encontraste el problema. Los detalles explican qué falló y por qué.
Luego, sigue los encabezados Received de abajo hacia arriba. ¿Tiene sentido la ruta? ¿Hay servidores inesperados? ¿Hay largos retrasos entre saltos? Las anomalías aquí a menudo explican problemas de entrega.
Revisa si hay encabezados relacionados con spam. ¿Se puntuó el mensaje como spam? ¿Qué reglas se activaron? Esto te dice qué no le gustó al servidor receptor del mensaje.
Verifica que los encabezados del remitente sean consistentes. ¿Coincide el dominio de From con el de Return-Path (para la alineación DMARC)? ¿Reply-To apunta a un lugar inesperado? Inconsistencias podrían explicar el filtrado o indicar spoofing.
Mira las marcas de tiempo. ¿Cuándo se envió el mensaje? ¿Cuándo se entregó? ¿Dónde pasó tiempo? Los retrasos se hacen visibles en la traza de marcas de tiempo.
Herramientas para analizar encabezados
Aunque puedes leer los encabezados manualmente, las herramientas hacen el análisis más rápido y detectan cosas que podrías pasar por alto.
Message Header Analyzer de Google (en Google Admin Toolbox) analiza encabezados y los presenta en un formato legible, destacando retrasos y resultados de autenticación.
El analizador de encabezados de MXToolbox de manera similar analiza y formatea encabezados, con contexto adicional sobre lo que significa cada campo.
Las herramientas integradas de los clientes de email varían en calidad. Algunos solo muestran encabezados en bruto; otros proporcionan un análisis básico. Para depuración seria, vale la pena usar herramientas dedicadas.
Para análisis programático, existen bibliotecas en la mayoría de los lenguajes para parsear encabezados de email. Esto permite monitorización y alertas automatizadas basadas en el contenido de los encabezados.
Frequently asked questions
¿Se pueden falsificar los encabezados de email?
Los encabezados añadidos por el remitente (From, Subject, etc.) se pueden falsificar. Los encabezados añadidos por los servidores receptores (Received, Authentication-Results) son confiables porque se añaden después de que el mensaje llega. Por eso importan los resultados de autenticación del servidor receptor.
¿Por qué veo múltiples encabezados Received?
Cada servidor que maneja el mensaje añade su propio encabezado Received. Un mensaje que pasa por 5 servidores tendrá 5 encabezados Received. Esto es normal y crea la pista de auditoría que hace posible la depuración.
¿Cómo veo los encabezados en Gmail?
Abre el mensaje, haz clic en el menú de tres puntos en la esquina superior derecha y selecciona 'Mostrar original'. Esto muestra el código fuente completo del mensaje, incluidos todos los encabezados.
¿Qué significa 'with ESMTPS' en los encabezados Received?
Indica que el mensaje se transfirió usando SMTP con cifrado TLS (la S significa Secure). 'ESMTP' sin la S significa transferencia sin cifrar. El email moderno debería mostrar transferencias cifradas entre servidores.