O que é DKIM?
O DKIM (DomainKeys Identified Mail) é um método de autenticação de e-mail definido no RFC 6376. Ele utiliza criptografia assimétrica — uma chave privada assina as mensagens enviadas no seu servidor de e-mail, e uma chave pública publicada no DNS permite que qualquer servidor receptor verifique essa assinatura. Se a mensagem for adulterada após a assinatura, a assinatura torna-se inválida.
Diferente do SPF, o DKIM autentica o conteúdo da mensagem em si (cabeçalhos e/ou corpo), não apenas o IP de envio. Isso o torna resiliente a cenários de encaminhamento de e-mail onde o IP do remetente muda.
Por que você precisa de DKIM?
1Integridade da mensagem
Prova que o corpo e os cabeçalhos do e-mail não foram modificados desde que saíram do seu servidor
2Sobrevive ao encaminhamento
A assinatura está incorporada no e-mail, não vinculada ao IP de envio — permanece válida através de retransmissões
3Necessário para o DMARC
O DMARC pode usar o alinhamento DKIM como base para decisões de aprovação/falha
4Impulso na entregabilidade
Gmail, Outlook e outros recompensam fortemente e-mails assinados com DKIM em decisões de filtragem
Como o DKIM funciona — passo a passo
Você gera um par de chaves pública/privada e configura seu servidor de e-mail para usar a chave privada.
Você publica a chave pública como um registro DNS TXT em `seletor._domainkey.seudominio.com`.
Ao enviar um e-mail, o servidor de e-mail faz o hash de cabeçalhos selecionados e do corpo, e então assina esse hash com a chave privada.
A assinatura é adicionada como um cabeçalho `DKIM-Signature` no e-mail.
O servidor receptor lê a `DKIM-Signature`, busca a chave pública no DNS, descriptografa a assinatura e gera o hash da mensagem novamente para comparar.
Uma correspondência significa que a mensagem é autêntica e inalterada. Uma divergência indica adulteração ou erro de configuração.
Registro DNS DKIM (chave pública)
v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADC...AQABCampos principais
v=DKIM1— identificador de versãok=rsa— tipo de chave (rsa ou ed25519)p=— chave pública codificada em base64h=— algoritmos de hash aceitáveis (sha256)s=— tipo de serviço (e-mail ou *)t=s— flag de modo estritoCabeçalho DKIM-Signature (no e-mail)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=seudominio.com; s=mail2024;
h=from:to:subject:date:message-id;
bh=47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=;
b=mY93xZ...Significado dos campos da assinatura
Problemas comuns de DKIM
Modificação do corpo
Algumas listas de discussão ou scanners de vírus alteram o corpo, quebrando o hash bh=
Registro DNS ausente
Verifique se o seu registro TXT foi publicado e propagado antes de enviar
Seletor incorreto
O s= na assinatura deve corresponder ao seletor no nome do registro DNS
Chave muito curta
Use chaves RSA de pelo menos 2048 bits. Chaves de 1024 bits são consideradas inseguras e rejeitadas por alguns provedores
Perguntas Frequentes
O DKIM adiciona uma assinatura digital aos seus e-mails. Isso permite verificar se a mensagem foi autorizada pelo proprietário do domínio e se o conteúdo não foi alterado durante o trajeto.
É uma string usada para localizar a chave pública no seu DNS. Geralmente está nas configurações do seu provedor de e-mail (ESP) ou no cabeçalho 's=' de e-mails enviados.
Pode ser erro no nome do seletor, falta de propagação no DNS ou registro TXT adicionado no nível de domínio errado.
Sim, e deve, caso use múltiplos serviços de e-mail. Cada serviço usará um seletor único para coexistir no seu DNS sem conflitos.
Ele fornece confiança aos ISPs. Uma assinatura válida ajuda a construir sua reputação como remetente, diminuindo bloqueios.
A privada fica no seu servidor para assinar mensagens. A pública vai no DNS para que os servidores receptores verifiquem a assinatura.