O que é DKIM e por que isso importa em 2026
DKIM (DomainKeys Identified Mail) é um padrão de autenticação de e-mail definido na RFC 6376 que permite a um domínio remetente assinar criptograficamente as mensagens enviadas. O receptor pega a chave pública correspondente no DNS, recalcula a assinatura e confirma que a mensagem foi autorizada pelo dono do domínio e não foi alterada em trânsito. Sem DKIM, um spoofer pode forjar seu endereço From:, prejudicar sua reputação de remetente e silenciosamente desviar respostas para domínios parecidos — um problema que a maioria dos times só percebe depois que a entregabilidade colapsa.
Em 2026, DKIM não é mais opcional. As regras de bulk sender do Gmail e do Yahoo — em vigor desde fevereiro de 2024 e apertadas durante 2025 — exigem que qualquer domínio enviando mais de 5.000 mensagens por dia publique SPF, DKIM e DMARC válidos. O Microsoft 365 anunciou aplicação equivalente para remetentes de alto volume. Falhar em DKIM hoje não baixa só a taxa de inbox; gera rejeições duras, relatórios dmarc=fail e, em muitos casos, remoção da allow-list do destinatário. Validar DKIM toda semana é o seguro de entregabilidade mais barato que você pode contratar.
Como o DKIM funciona — criptografia de chave pública/privada
DKIM é construído em criptografia assimétrica padrão. Quando você configura DKIM, sua plataforma de e-mail gera um par de chaves RSA: uma chave privada que ela mantém no servidor remetente e uma chave pública que você publica no DNS. Toda mensagem enviada tem um hash gerado (corpo + cabeçalhos selecionados), o hash é criptografado com a chave privada e o resultado é anexado como cabeçalho DKIM-Signature. O receptor busca sua chave pública no DNS, descriptografa a assinatura, recalcula o hash da mensagem que recebeu e compara os dois. Se baterem, DKIM passa; se não, a assinatura está quebrada e a mensagem é tratada como suspeita.
O cabeçalho DKIM-Signature carrega os metadados que o receptor precisa para verificar: v= (versão), a= (algoritmo, normalmente rsa-sha256), d= (domínio assinante), s= (seletor), c= (canonicalização, normalmente relaxed/relaxed), h= (cabeçalhos assinados), bh= (hash do corpo) e b= (a assinatura). Juntos eles dizem ao receptor exatamente qual registro DNS buscar e quais bytes foram cobertos.
Example DKIM-Signature header:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=example.com; s=google;
h=from:to:subject:date:message-id;
bh=47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=;
b=KX5vRn3...truncated...O que é um seletor DKIM?
Um seletor DKIM é um rótulo curto que permite a um único domínio publicar múltiplas chaves DKIM ao mesmo tempo. Receptores encontram a chave pública combinando o seletor e o domínio assinante em um nome DNS no formato selector._domainkey.dominio.com. Por exemplo, o Google Workspace usa google._domainkey.example.com, enquanto uma mensagem assinada pelo Mailgun procura k1._domainkey.example.com. Seletores são críticos porque permitem girar chaves, rodar diferentes plataformas de envio em paralelo (transacional, marketing, vendas) e preparar novas chaves antes de aposentar as antigas — tudo sem que dois registros nunca colidam. Não há wildcard ou fallback em _domainkey.dominio.com em si; o seletor é obrigatório.
Example DNS record format:
default._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkq..."5 erros comuns de DKIM e como corrigi-los
Lookup DNS não retorna nada
O receptor consultou selector._domainkey.seudominio.com e recebeu NXDOMAIN. Esta é a falha DKIM mais comum. Causas: o registro TXT nunca foi publicado, foi publicado no seletor errado ou foi adicionado no apex (seudominio.com) em vez do subdomínio do seletor. Resolva publicando exatamente o nome que seu provedor te deu (ex.: google._domainkey) como registro TXT e confirme a propagação com dig TXT selector._domainkey.seudominio.com ou rodando este checker novamente. Permita até 48 horas para propagação global.
Chave pública inválida
O DNS retorna um registro mas o valor de p= está malformado, truncado ou rejeitado pelo receptor. A causa mais frequente é uma chave de 2048 bits que foi dividida em várias strings TXT e remontada incorretamente — muitas UIs de DNS adicionam aspas, espaços ou quebras de linha aleatórias. Resolva copiando a chave pública exatamente como sua plataforma de e-mail exportou, colando como um único valor TXT (a maioria dos provedores divide automaticamente no limite de 255 bytes) e confirmando que o registro contém v=DKIM1; k=rsa; p=BASE64KEY sem espaços dentro do bloco base64.
Hash do corpo não bate
DKIM assinou bh=ABC mas o receptor calculou bh=XYZ a partir do corpo recebido, então a verificação falha. Isso significa que algo modificou a mensagem depois da assinatura. Culpados comuns: um gateway downstream (antivírus, DLP, lista de discussão) reescreve links ou adiciona um rodapé, um relay SMTP recodifica fins de linha, ou um encaminhador remove anexos. Resolva assinando com canonicalização relaxed/relaxed (tolera mudanças de espaço em branco), removendo o middleware que reescreve, ou — para listas de discussão — implementando ARC para preservar o DKIM original entre saltos.
Verificação de assinatura falhou
O hash do corpo bateu mas a assinatura criptográfica não verificou contra a chave pública. Causas: o servidor que assinou usou uma chave privada que não bate mais com a pública publicada (comum depois de uma rotação onde o DNS foi atualizado mas o cache do servidor de e-mail não), a chave pública no DNS foi editada e corrompida, ou o algoritmo em a= não bate com o tipo da chave. Resolva re-exportando a chave pública da plataforma remetente, republicando-a sem alterações e reiniciando o serviço de e-mail para recarregar a chave privada.
Seletor não encontrado / errado
Seu servidor de e-mail está assinando com seletor s1 mas o DNS só publica s2, ou você migrou de provedor e o seletor antigo foi aposentado. Resolva verificando a tag s= no cabeçalho DKIM-Signature de um e-mail real enviado (a maioria dos clientes te deixa ver os cabeçalhos completos), confirmando que existe um registro TXT exatamente naquele seletor e removendo seletores velhos que não têm mais chave privada correspondente — seletores antigos com p= vazio causam falhas duras.
Configuração DKIM passo a passo
- 1
Escolha o tamanho da chave (1024 vs 2048 bits)
Sempre escolha RSA de 2048 bits em 2026. Chaves de 1024 bits ainda são aceitas pela maioria dos receptores, mas Gmail, Yahoo e Microsoft agora marcam ativamente como fracas nos relatórios DMARC, e times de segurança rotineiramente reprovam auditorias que encontram DKIM 1024 bits em produção. A única razão para descer para 1024 é um provedor de DNS legado que não consegue armazenar TXT com mais de 255 bytes — e mesmo esses praticamente todos suportam divisão multi-string hoje. Chaves de 2048 bits adicionam cerca de dois milissegundos no tempo de assinatura, o que é insignificante para qualquer servidor de e-mail em produção.
- 2
Gere o par de chaves
A maioria das plataformas gera as chaves para você — Google Workspace, Microsoft 365, Mailgun, SendGrid, Postmark e Amazon SES expõem uma página de DKIM em um clique que produz as duas metades e te mostra a chave pública para publicar. Se você roda seu próprio servidor (Postfix + OpenDKIM, Exim ou Haraka), use opendkim-genkey -b 2048 -d seudominio.com -s s1, que escreve s1.private (mantenha em segredo) e s1.txt (publique). Nunca reutilize uma chave entre domínios ou plataformas.
- 3
Adicione a chave pública como registro TXT
Crie um registro TXT em selector._domainkey.seudominio.com — por exemplo s1._domainkey.example.com — com o valor v=DKIM1; k=rsa; p=MIIBIjANBgkq... colado do arquivo .txt que seu gerador produziu. Muitos provedores de DNS dividem automaticamente o valor em pedaços de 255 bytes; tudo bem, os receptores remontam. Defina TTL para 3600 segundos durante o teste e suba para 86400 quando o registro estiver estável. Não inclua as aspas ao redor do valor de saída do gerador como parte do valor.
- 4
Configure seu serviço de e-mail para assinar com a chave privada
Em plataformas hospedadas isso é automático depois que você publica o registro DNS e clica em Verificar. Em servidores próprios, aponte seu milter (OpenDKIM, Rspamd) para o arquivo .private, defina o seletor para bater com o registro DNS e reinicie o processo de e-mail. Envie uma mensagem de teste para um endereço Gmail e veja a fonte bruta — você deve ver Authentication-Results: dkim=pass header.d=seudominio.com. Se aparecer dkim=none, o servidor ainda não está assinando; se aparecer dkim=fail, as chaves não batem.
- 5
Teste com um DKIM checker grátis
Use este DKIM Checker para confirmar a publicação no DNS, depois envie uma mensagem real de teste para mail-tester.com ou para uma conta Gmail sua e inspecione os cabeçalhos. Esperado: Authentication-Results mostra dkim=pass e o seletor bate com seu registro publicado. Re-teste depois de cada rotação de chave, cada nova plataforma de envio e no mínimo uma vez por trimestre. Adicione o check à sua ferramenta de monitoramento para que uma falha silenciosa de DKIM não derrube a entregabilidade por semanas.
Seletores DKIM comuns por provedor
Diferentes plataformas de e-mail escolhem cada uma sua própria convenção de seletor. Conhecer a convenção torna o troubleshooting muito mais rápido — se você recebe uma mensagem do Google Workspace e o DKIM está quebrado, você já sabe que deve consultar google._domainkey antes de varrer cinquenta alternativas. Abaixo estão os seletores usados pelos principais provedores em 2026:
Google Workspace — google._domainkey.seudominio.comMailgun — k1._domainkey.seudominio.com (às vezes mta._domainkey)SendGrid — s1._domainkey.seudominio.com e s2._domainkey.seudominio.com (baseado em CNAME)Mailchimp — k1._domainkey.seudominio.com e k2._domainkey.seudominio.comMicrosoft 365 — selector1._domainkey.seudominio.com e selector2._domainkey.seudominio.comPostmark — pm._domainkey.seudominio.com (ou 20XXXXXXX.pm._domainkey)Amazon SES — Seletores aleatórios customizados como abc123._domainkey.seudominio.com (baseado em CNAME)Mandrill (do Mailchimp) — mandrill._domainkey.seudominio.comConstant Contact — ctct1._domainkey.seudominio.com e ctct2._domainkey.seudominio.comConvertKit — ck._domainkey.seudominio.comMailjet — mailjet._domainkey.seudominio.comBrevo (antigo Sendinblue) — mail._domainkey.seudominio.com
O DKIM Checker da Nova Uptime varre automaticamente todos esses seletores acima mais 38 outros em paralelo, então você não precisa saber de antemão qual seu provedor usa.
Requisitos do Gmail e Yahoo em 2026
Desde fevereiro de 2024, Gmail e Yahoo aplicam autenticação mais rígida em qualquer domínio enviando mais de 5.000 mensagens por dia para seus usuários. As regras: toda mensagem precisa ser assinada com um registro DKIM válido (2048 bits recomendado), SPF precisa alinhar com o domínio From: e uma política DMARC precisa ser publicada — no mínimo p=none — com um endereço rua= alcançável. Em 2025 e entrando em 2026, os dois provedores baixaram o limite de volume e começaram a rejeitar mensagens (5.7.26) em vez de roteá-las para o spam. O Microsoft 365 começou aplicação equivalente em maio de 2025. O efeito prático: um único registro DKIM quebrado agora causa hard bounces, não apenas problemas de entrega na caixa de entrada, e a recuperação leva dias porque os relatórios DMARC têm atraso de 24 horas. Monitoramento contínuo não é mais opcional.