Pular para o conteúdo principal

DKIM — Autenticação de Email por Tenant

O Notifica gera pares de chaves DKIM exclusivos para cada tenant, garantindo que os emails enviados sejam autenticados e tenham melhor deliverability.

O que é DKIM?​

DKIM (DomainKeys Identified Mail) é um mecanismo de autenticação de email que permite ao remetente assinar digitalmente suas mensagens. O servidor de email do destinatário verifica essa assinatura consultando uma chave pública publicada no DNS do domínio remetente.

Por que DKIM importa?​

Sem DKIMCom DKIM
Emails frequentemente caem no spamEmails têm alta taxa de entrega na caixa de entrada
Provedores não conseguem verificar a autenticidadeProvedores confirmam que o email veio de você
Vulnerável a spoofing e phishingProtege contra falsificação de remetente
Reputação de envio prejudicadaConstrói reputação positiva ao longo do tempo
aviso

Sem DKIM configurado, provedores como Gmail, Outlook e Yahoo podem marcar seus emails como spam ou rejeitar completamente. Isso é especialmente rigoroso desde as mudanças de política do Gmail em fevereiro de 2024.


Como o Notifica implementa DKIM​

Geração de Chaves por Tenant​

Quando você registra um domínio no Notifica, o sistema automaticamente:

  1. Gera um par de chaves RSA de 2048 bits — exclusivo para seu tenant
  2. Armazena a chave privada — de forma segura e criptografada no servidor
  3. Fornece a chave pública — para você publicar no DNS do seu domínio
  4. Assina cada email — usando a chave privada ao enviar

Especificações Técnicas​

ParâmetroValor
AlgoritmoRSA
Tamanho da chave2048 bits
Selector DKIMnotifica
HashSHA-256 (rsa-sha256)
Canonicalizationrelaxed/relaxed

Configuração DNS​

Registro DKIM (TXT)​

Após registrar seu domínio no Notifica (via API ou dashboard), publique o seguinte registro TXT no DNS:

CampoValor
TipoTXT
Nome/Hostnotifica._domainkey.suaempresa.com.br
Valorv=DKIM1; k=rsa; p=SUA_CHAVE_PUBLICA_AQUI
TTL300 (ou mínimo permitido)
informação

A chave pública é fornecida na resposta da API ao registrar o domínio (POST /v1/domains) e está visível nos detalhes do domínio no dashboard. Cada tenant recebe uma chave diferente.

Formato completo do registro:

notifica._domainkey.suaempresa.com.br.  300  IN  TXT  "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."
aviso

Atenção com o comprimento: Chaves RSA de 2048 bits geram valores TXT longos (>255 caracteres). Alguns provedores DNS exigem que você quebre o valor em múltiplas strings. Verifique a documentação do seu provedor.

Provedor DNS — Notas Específicas​

Cloudflare:

  • Cole o valor completo no campo "Content". O Cloudflare lida automaticamente com a quebra de strings longas.

Registro.br:

  • O campo "Nome" pode exigir apenas notifica._domainkey (sem o domínio no final, pois é adicionado automaticamente).

AWS Route 53:

  • Envolva o valor em aspas duplas. Para valores longos, use múltiplas strings:
    "v=DKIM1; k=rsa; p=MIIBIjANBgkqhki..." "continuação_da_chave..."

Checklist Completo de DNS para Email​

Para que seus emails tenham a melhor deliverability possível, configure todos os registros abaixo:

✅ 1. Verificação de Propriedade (TXT)​

suaempresa.com.br.  300  IN  TXT  "notifica-verification=SEU_TOKEN_UNICO"
  • Obtido ao registrar o domínio via POST /v1/domains
  • Necessário para provar que você é dono do domínio

✅ 2. DKIM (TXT)​

notifica._domainkey.suaempresa.com.br.  300  IN  TXT  "v=DKIM1; k=rsa; p=SUA_CHAVE_PUBLICA"
  • Chave pública fornecida pelo Notifica (única por tenant)
  • Assina digitalmente cada email enviado

✅ 3. SPF (TXT)​

suaempresa.com.br.  300  IN  TXT  "v=spf1 include:spf.usenotifica.com.br [outros includes] ~all"
  • Adicione include:spf.usenotifica.com.br ao seu SPF existente
  • Nunca crie dois registros SPF — combine em um só
aviso

O include SPF do Notifica é spf.usenotifica.com.br (sem underscore no início). Certifique-se de digitar corretamente.

✅ 4. DMARC (TXT) — Recomendado​

_dmarc.suaempresa.com.br.  300  IN  TXT  "v=DMARC1; p=quarantine; rua=mailto:[email protected]"

Evolução recomendada da política DMARC:

FasePolíticaQuando usar
1. Monitoramentop=nonePrimeiras 2-4 semanas após configurar SPF + DKIM
2. Quarentenap=quarantineApós confirmar que SPF e DKIM passam consistentemente
3. Rejeiçãop=rejectQuando confiante que nenhum email legítimo falha autenticação
dica

Comece com p=none e rua=mailto:[email protected] para receber relatórios DMARC. Analise os relatórios por 2-4 semanas antes de endurecer a política.


Verificando a Configuração​

Via linha de comando​

Verificar DKIM:

dig TXT notifica._domainkey.suaempresa.com.br +short

Saída esperada:

"v=DKIM1; k=rsa; p=MIIBIjANBgkqhki..."

Verificar SPF:

dig TXT suaempresa.com.br +short | grep spf

Saída esperada (deve conter o include do Notifica):

"v=spf1 include:spf.usenotifica.com.br ... ~all"

Verificar DMARC:

dig TXT _dmarc.suaempresa.com.br +short

Saída esperada:

"v=DMARC1; p=quarantine; rua=mailto:..."

Via API do Notifica​

Use o endpoint de health check para verificar todos os registros de uma vez:

curl https://app.usenotifica.com.br/v1/domains/dom_abc123/health \
-H "Authorization: Bearer YOUR_API_KEY"

Veja Monitoramento de Saúde de Domínios para detalhes da resposta.


Troubleshooting​

"DKIM signature not found"​

Causas:

  1. Registro TXT não publicado — Adicione o registro no DNS
  2. Selector incorreto — O nome deve ser exatamente notifica._domainkey.<domain>
  3. Propagação DNS — Aguarde 5-30 minutos após adicionar

Diagnóstico:

# Verificar se o registro existe
dig TXT notifica._domainkey.suaempresa.com.br +short

# Verificar com DNS público (bypass de cache local)
dig TXT notifica._domainkey.suaempresa.com.br @8.8.8.8 +short

"DKIM key too short"​

Se você vê este erro, a chave publicada no DNS está incompleta. Isso geralmente acontece quando o provedor DNS truncou o valor TXT.

Solução: Verifique se o valor completo da chave pública foi copiado. Chaves de 2048 bits têm ~400 caracteres.

"DKIM alignment failed"​

O domínio no cabeçalho From: do email não corresponde ao domínio na assinatura DKIM.

Solução: Certifique-se de que está enviando emails usando um endereço @suaempresa.com.br (o mesmo domínio verificado no Notifica).

"Multiple SPF records"​

Ter dois registros TXT com v=spf1 no mesmo domínio causa PermError.

Solução:

# Listar registros SPF existentes
dig TXT suaempresa.com.br +short | grep spf

Combine todos os include: em um único registro:

v=spf1 include:spf.usenotifica.com.br include:_spf.google.com ~all

"SPF too many DNS lookups"​

O limite de SPF é 10 lookups DNS. Se você tem muitos include:, pode exceder.

Solução:

  • Remova includes de serviços que você não usa mais
  • Use ferramentas como MXToolbox SPF Checker para contar lookups
  • Considere usar ip4: e ip6: diretos em vez de include: para serviços com IPs fixos

Segurança​

  • Chaves privadas são armazenadas criptografadas no servidor Notifica e nunca expostas via API
  • Chaves públicas são fornecidas apenas para o tenant que as gerou
  • Rotação de chaves está planejada para versões futuras — por enquanto, as chaves são permanentes

Referências​