Um engenheiro de suporte passou dois dias tentando descobrir por que emails de um cliente específico estavam chegando com 6 horas de atraso. O cliente jurava que os havia enviado imediatamente. O destinatário jurava que eles chegavam horas depois. Cada um culpava o sistema de email do outro.
A resposta estava nos cabeçalhos. Ao ler os cabeçalhos Received, ficou claro que a mensagem ficou em uma fila em um servidor de retransmissão intermediário por 5 horas e 47 minutos. O relay era um sistema legado que o cliente havia esquecido que existia, mal configurado e com dificuldades sob carga. Dez minutos de análise de cabeçalhos resolveram um mistério de dois dias.
Os cabeçalhos de email são a caixa-preta de cada mensagem. Eles documentam a jornada completa do remetente ao destinatário, cada servidor tocado, cada verificação realizada. Aprender a lê-los é uma das habilidades de depuração mais valiosas em email.
A estrutura dos cabeçalhos de email
Os cabeçalhos de email aparecem no início de toda mensagem, antes do conteúdo do corpo. São uma série de pares campo-valor, cada um em sua própria linha, seguindo um formato simples: "Nome do campo: valor do campo".
Os cabeçalhos servem a vários propósitos. Alguns identificam a mensagem: From, To, Subject, Date, Message-ID. Alguns registram o caminho de entrega: cabeçalhos Received de cada servidor. Alguns documentam verificações de segurança: Authentication-Results, DKIM-Signature. Alguns controlam comportamento: Reply-To, List-Unsubscribe.
A ordem dos cabeçalhos importa para alguns propósitos. Os cabeçalhos Received são adicionados em ordem cronológica inversa — o mais recente no topo, o original na parte inferior. Lê-los de baixo para cima traça a jornada da mensagem ao longo do tempo.
A maioria dos clientes de email oculta os cabeçalhos por padrão, mostrando apenas From, To, Subject e Date. Para ver os cabeçalhos completos, é preciso acessar "ver código-fonte", "mostrar original" ou opções semelhantes, dependendo do seu cliente de email.
Cabeçalhos Received: o rastro de entrega
Cada servidor de email que lida com uma mensagem adiciona um cabeçalho Received documentando sua participação. Esses cabeçalhos criam uma trilha de auditoria do caminho completo da mensagem.
Um cabeçalho Received típico contém várias informações: o servidor que recebeu a mensagem (o que está adicionando o cabeçalho), o servidor de onde a recebeu, o protocolo usado (SMTP, ESMTP etc.) e um carimbo de data e hora.
Lendo de baixo para cima, você pode traçar a jornada da mensagem. O cabeçalho Received mais abaixo mostra o primeiro servidor que tratou a mensagem depois que ela saiu do cliente de email do remetente. Cada cabeçalho subsequente mostra o próximo salto. O cabeçalho Received do topo mostra a entrega final à caixa de correio do destinatário.
Os carimbos de data e hora nos cabeçalhos Received ajudam a identificar atrasos. Se houver um intervalo de 3 horas entre dois cabeçalhos consecutivos, a mensagem ficou naquele servidor por 3 horas. Isso aponta exatamente onde os atrasos ocorrem.
Os campos "from" e "by" identificam servidores. "From" mostra de onde a mensagem veio; "by" mostra o servidor que adicionou o cabeçalho. Inconsistências ou entradas suspeitas podem indicar encaminhamento, retransmissão ou potencial falsificação.
Cabeçalhos de autenticação
O email moderno inclui cabeçalhos que documentam verificações de autenticação. Eles informam se SPF, DKIM e DMARC passaram ou falharam.
O cabeçalho Authentication-Results é adicionado por servidores recebedores após realizar as verificações de autenticação. Ele resume os resultados em um formato estruturado: quais verificações foram realizadas, se passaram ou falharam, e detalhes relevantes como qual domínio foi verificado ou qual chave foi usada.
Um resultado de autenticação bem-sucedido pode mostrar SPF pass com o endereço IP verificado, DKIM pass com o domínio assinante e DMARC pass com a política aplicada. As falhas incluem códigos de motivo explicando o que deu errado.
O cabeçalho DKIM-Signature contém a assinatura criptográfica adicionada pelo servidor de envio. Ele especifica o algoritmo de assinatura, o domínio responsável, o seletor para busca da chave, quais cabeçalhos são assinados e a própria assinatura.
Ao depurar falhas de autenticação, esses cabeçalhos dizem exatamente o que aconteceu. "DKIM signature verification failed" em Authentication-Results, combinado com o exame do cabeçalho DKIM-Signature, frequentemente revela se a assinatura estava malformada, se a chave estava ausente ou se a mensagem foi modificada em trânsito.
Identificando o remetente real
Vários cabeçalhos se relacionam à identidade do remetente, e entender suas diferenças é importante tanto para depuração quanto para segurança.
O cabeçalho From é o que os destinatários veem — o endereço exibido no cliente de email. Isso é facilmente falsificável; qualquer pessoa pode colocar qualquer endereço no cabeçalho From.
O Return-Path (ou Envelope-From) é o endereço para onde retornos e falhas de entrega são enviados. Ele é definido durante a transação SMTP, não nos cabeçalhos da mensagem, embora frequentemente seja registrado em cabeçalhos pelos servidores recebedores. O SPF verifica esse endereço, não o endereço From.
O cabeçalho Sender, quando presente, indica quem realmente enviou a mensagem em nome do endereço From. É usado quando alguém envia email por outra pessoa, como um assistente enviando em nome de um executivo.
Reply-To especifica para onde as respostas devem ir, o que pode ser diferente de From. Usos legítimos incluem enviar de um endereço no-reply enquanto direciona respostas para uma caixa monitorada. Usos ilegítimos incluem emails de phishing que exibem um endereço From confiável mas capturam respostas em outro lugar.
Para análise de segurança, compare esses cabeçalhos. Divergências nem sempre são maliciosas — há motivos legítimos para diferenças — mas merecem atenção.
Carimbos de data e hora e atrasos
Cada cabeçalho Received inclui um carimbo de data e hora. Comparar esses carimbos revela onde as mensagens passaram tempo.
O cabeçalho Date mostra quando a mensagem foi composta (de acordo com o relógio do remetente). O timestamp do primeiro cabeçalho Received mostra quando ela entrou no sistema de email. Carimbos subsequentes mostram cada salto. O carimbo final mostra a entrega.
Grandes intervalos entre cabeçalhos Received consecutivos indicam enfileiramento. A mensagem chegou a um servidor, mas não foi imediatamente encaminhada. Isso pode ser intencional (greylisting atrasa novos remetentes) ou problemático (servidor sobrecarregado, problemas de rede).
Diferenças de fuso horário podem confundir a análise de carimbos. Os cabeçalhos podem mostrar horários em diferentes zonas. Converta tudo para um único fuso horário (UTC é o convencional) antes de calcular intervalos.
Desajuste de relógios entre servidores pode criar anomalias aparentes — uma mensagem parecer chegar antes de ser enviada. Pequenas discrepâncias (segundos a minutos) são normais. Grandes discrepâncias sugerem relógios de servidor mal configurados.
Cabeçalhos de spam e filtragem
Muitos servidores de email adicionam cabeçalhos indicando sua avaliação de spam. Eles não são padronizados, mas seguem padrões comuns.
X-Spam-Status normalmente mostra se a mensagem foi classificada como spam e a pontuação que recebeu. X-Spam-Score mostra apenas a pontuação numérica. X-Spam-Flag é um indicador simples de sim/não.
SpamAssassin, um filtro de spam comum, adiciona cabeçalhos detalhados mostrando quais regras foram acionadas e seus valores de pontos. Essa análise é inestimável para entender por que uma mensagem foi filtrada. "MISSING_SUBJECT: 2.5 pontos" diz exatamente o que corrigir.
Alguns servidores adicionam cabeçalhos indicando quais listas negras foram verificadas e se o remetente apareceu em alguma. Isso ajuda a diagnosticar problemas de entrega relacionados a listas negras.
Cabeçalhos específicos de provedores variam. O Gmail adiciona cabeçalhos relacionados ao seu sistema de categorização. A Microsoft adiciona cabeçalhos sobre suas decisões de filtragem. Aprender a reconhecê-los ajuda ao depurar a entrega para provedores específicos.
Análise prática de cabeçalhos
Ao depurar problemas de email, uma abordagem sistemática para análise de cabeçalhos ajuda.
Comece pelo cabeçalho Authentication-Results. SPF, DKIM e DMARC passaram? Se não, você provavelmente encontrou o problema. Os detalhes explicam o que falhou e por quê.
Em seguida, rastreie os cabeçalhos Received de baixo para cima. O caminho faz sentido? Há servidores inesperados? Há longos atrasos entre saltos? Anomalias aqui frequentemente explicam problemas de entrega.
Verifique cabeçalhos relacionados a spam. A mensagem foi pontuada como spam? Quais regras foram acionadas? Isso indica o que o servidor recebedor não gostou na mensagem.
Verifique se os cabeçalhos do remetente são consistentes. From corresponde ao domínio do Return-Path (para alinhamento DMARC)? Reply-To está apontando para algum lugar inesperado? Inconsistências podem explicar filtragem ou indicar falsificação.
Olhe os carimbos de data e hora. Quando a mensagem foi enviada? Quando foi entregue? Onde passou tempo? Os atrasos tornam-se visíveis na trilha de carimbos.
Ferramentas para análise de cabeçalhos
Embora você possa ler cabeçalhos manualmente, ferramentas tornam a análise mais rápida e capturam coisas que você pode não perceber.
O Message Header Analyzer do Google (no Google Admin Toolbox) interpreta cabeçalhos e os apresenta em um formato legível, destacando atrasos e resultados de autenticação.
O analisador de cabeçalhos do MXToolbox igualmente interpreta e formata os cabeçalhos, com contexto adicional sobre o que cada campo significa.
As ferramentas integradas dos clientes de email variam em qualidade. Alguns apenas mostram cabeçalhos brutos; outros fornecem uma interpretação básica. Para depuração séria, vale a pena usar ferramentas dedicadas de análise.
Para análise programática, existem bibliotecas na maioria das linguagens para interpretar cabeçalhos de email. Isso permite monitoramento e alertas automatizados com base no conteúdo dos cabeçalhos.
Frequently asked questions
Cabeçalhos de email podem ser forjados?
Cabeçalhos adicionados pelo remetente (From, Subject etc.) podem ser forjados. Cabeçalhos adicionados pelos servidores recebedores (Received, Authentication-Results) são confiáveis porque são adicionados depois que a mensagem chega. É por isso que os resultados de autenticação do servidor recebedor importam.
Por que vejo vários cabeçalhos Received?
Cada servidor que trata a mensagem adiciona seu próprio cabeçalho Received. Uma mensagem que passa por 5 servidores terá 5 cabeçalhos Received. Isso é normal e cria a trilha de auditoria que torna a depuração possível.
Como visualizo cabeçalhos no Gmail?
Abra a mensagem, clique no menu de três pontos no canto superior direito e selecione 'Mostrar original'. Isso exibe o código-fonte completo da mensagem, incluindo todos os cabeçalhos.
O que significa 'with ESMTPS' nos cabeçalhos Received?
Ele indica que a mensagem foi transferida usando SMTP com criptografia TLS (o S significa Secure). 'ESMTP' sem o S significa transferência não criptografada. O email moderno deve mostrar transferências criptografadas entre servidores.