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