DKIM (DomainKeys Identified Mail) é uma assinatura digital que o servidor de e-mail coloca em cada mensagem enviada pelo seu domínio. Quem recebe confere essa assinatura com uma chave publicada no seu DNS. Se bater, fica provado que a mensagem saiu de um servidor autorizado e que ninguém mexeu no conteúdo no caminho.
É o mais robusto dos três registros de autenticação: diferente do SPF, a assinatura continua válida quando a mensagem é encaminhada por outra pessoa.
Como funciona
O serviço de e-mail guarda uma chave privada, que só ele conhece, e usa essa chave para assinar o cabeçalho e o corpo de cada mensagem. A chave pública correspondente fica no seu DNS, num registro TXT com um nome no formato seletor._domainkey:
mail._domainkey.suaempresa.com.br TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."
- O seletor (
mail, no exemplo) permite ter várias chaves ao mesmo tempo, uma por serviço que envia em seu nome. k=rsaé o tipo de chave, ep=é a chave pública em si. Prefira chaves de 2048 bits.
Você não precisa gerar nada: o serviço de e-mail cria o par de chaves e mostra o valor exato para colar no DNS.
Os erros mais comuns
- Valor cortado ao colar. A chave é longa, e alguns painéis quebram ou cortam o texto. Cole o valor inteiro, sem espaços ou aspas a mais, e confira depois no terminal.
- Nome com o domínio repetido. Se o painel completa o domínio sozinho, escreva só
mail._domainkey, sem o.suaempresa.com.br. - Um serviço sem DKIM. Cada ferramenta que envia como @suaempresa.com.br precisa da própria chave publicada. Sem ela, as mensagens dessa ferramenta falham no DMARC.
Como conferir
dig +short TXT mail._domainkey.suaempresa.com.br
Troque mail pelo seletor que o seu serviço usa. A resposta deve começar com v=DKIM1. Numa mensagem recebida no Gmail, Mostrar original mostra DKIM: PASS com o seu domínio.
O guia de e-mail com domínio próprio mostra onde o DKIM entra junto com o registro MX e os demais.