DKIM adiciona uma assinatura criptográfica aos cabeçalhos da mensagem. O destinatário consulta no DNS a chave pública indicada pelo domínio d= e pelo seletor s=. Resultados como dkim=fail, bad signature, no key for signature, body hash did not verify, permfail ou temperror mostram que a assinatura não pôde ser validada.
Como localizar os dados da assinatura
No cabeçalho original, procure:
DKIM-Signature: v=1; a=rsa-sha256; d=exemplo.com.br; s=default; ...
Authentication-Results: ... dkim=fail header.d=exemplo.com.br
A chave pública deve estar no nome default._domainkey.exemplo.com.br quando o seletor é default. Outros provedores usam seletores próprios.
Causas e sinais
| Resultado/texto | Causa provável |
|---|---|
no key ou key not found | TXT ausente, seletor errado, publicação no DNS não autoritativo ou propagação. |
bad signature | Chave pública não corresponde à privada ou dados assinados foram alterados. |
body hash did not verify | O corpo mudou depois da assinatura, inclusive por gateway, rodapé ou filtro. |
permfail | Erro permanente de sintaxe, chave revogada/ausente ou assinatura inválida. |
temperror | Falha temporária de consulta DNS ou serviço. |
dkim=none | A mensagem não tinha assinatura reconhecida. |
Procedimento de correção
- Obtenha o cabeçalho da mensagem original, não uma mensagem encaminhada ou copiada.
- Anote
d=,s=, algoritmo e resultado emAuthentication-Results. - Consulte o TXT em
seletor._domainkey.domíniono DNS autoritativo. - Confirme que o registro não foi quebrado, duplicado ou publicado como CNAME quando o provedor exigia TXT — ou vice-versa.
- No cPanel, abra Capacidade de entrega de e-mail > Gerenciar e compare o DKIM recomendado.
- Se o DNS for externo, publique nele exatamente a chave recomendada; o botão de reparo local não altera a Cloudflare ou outro DNS autoritativo.
- Se houve migração, gere ou instale a chave correspondente ao servidor atual e remova referências antigas somente depois de validar o novo fluxo.
- Envie uma mensagem nova e confirme
dkim=pass.
Quando o corpo é alterado após a assinatura
Gateways antispam, listas de discussão, sistemas que inserem avisos, antivírus, redirecionamentos e conversões de encoding podem modificar partes cobertas pela assinatura. Compare o percurso nas linhas Received. Assine no último componente controlado antes da saída; evite que outro sistema altere conteúdo depois disso. Encaminhar uma mensagem como anexo preserva melhor a evidência do que encaminhá-la normalmente.
Rotação e tamanho da chave
Uma rotação segura cria um seletor novo, publica a chave, espera o DNS ficar disponível, passa a assinar com o novo seletor e só então remove o antigo após o período de trânsito. Não publique a chave privada. Provedores atuais podem impor tamanhos mínimos; siga a recomendação do serviço de envio e prefira chaves modernas suportadas pelo ambiente.
DKIM passou, mas a mensagem foi rejeitada
DKIM válido não garante Caixa de Entrada. Verifique se o domínio d= alinha com o From para DMARC, além de SPF, PTR, reputação, conteúdo e consentimento. Consulte DMARC e alinhamento e entrega na pasta Spam.
Referências oficiais: RFC 6376 — DKIM, requisitos de remetentes do Gmail e cPanel — Email Deliverability.
Recursos relacionados
Continue com tutoriais, ferramentas e serviços relacionados ao diagnóstico.