SPF, DKIM e DMARC: o guia prático para o e-mail da sua empresa chegar
SPF, DKIM e DMARC são registros publicados no DNS do seu domínio que provam ao provedor de destino que a mensagem é mesmo sua. O SPF autoriza quais servidores podem enviar; o DKIM assina a mensagem com criptografia; o DMARC amarra os dois ao domínio que aparece no campo De: e diz o que fazer quando a checagem falha. Publicar os três não basta: sem alinhamento entre o domínio do De: e o domínio verificado, o DMARC continua falhando.
Se as suas mensagens caem no spam ou somem sem explicação, a autenticação do domínio é o primeiro lugar para olhar — antes do assunto, do texto e do horário de envio. É também o único item desta lista que é objetivo: ou o registro está publicado e correto, ou não está.
O que cada um dos três faz
Os três resolvem problemas diferentes e não se substituem.
| Protocolo | Pergunta que responde | Onde vive | Sobrevive a encaminhamento? |
|---|---|---|---|
| SPF | Este servidor pode enviar por este domínio? | Registro TXT no DNS | Não — o servidor que encaminha passa a ser a origem |
| DKIM | A mensagem foi alterada no caminho? | Chave pública em seletor._domainkey | Sim, desde que o conteúdo não seja modificado |
| DMARC | O que fazer quando as checagens falham? | Registro TXT em _dmarc | Depende de SPF ou DKIM passar e estar alinhado |
O detalhe que quase todo mundo erra: alinhamento
O SPF não verifica o endereço que o seu cliente vê. Ele verifica o envelope da mensagem (o MAIL FROM, também chamado de Return-Path), que muitas plataformas de envio preenchem com um domínio próprio delas.
O DMARC existe justamente para fechar essa brecha: ele só considera a mensagem autenticada se o domínio que passou no SPF ou no DKIM for o mesmo que aparece no campo De:. É por isso que existe o caso clássico de quem publica tudo, vê "SPF: pass" no cabeçalho e mesmo assim leva dmarc=fail.
Na prática: garanta que o DKIM seja assinado com o seu domínio (o d= da assinatura precisa ser o seu, não o da plataforma) ou que o Return-Path use um subdomínio seu.
Como configurar o SPF sem estourar o limite
O SPF é um único registro TXT na raiz do domínio. Um exemplo típico de quem envia pela AraraSend e ainda usa o Google Workspace:
v=spf1 include:_spf.ararasend.com include:_spf.google.com ~all
- Um registro só. Dois registros SPF no mesmo domínio invalidam a checagem — se precisa somar remetentes, some os
include:dentro do mesmo registro. - Dez consultas de DNS. A especificação limita a avaliação a dez consultas; passar disso resulta em
permerror, que na prática é o mesmo que não ter SPF. Cadainclude:costuma consumir uma ou mais. ~allou-all. O til é falha branda ("provavelmente não é meu, mas aceite e anote"); o traço é falha dura ("rejeite"). Comece com~alle endureça quando os relatórios do DMARC mostrarem que nada legítimo está de fora.
Como configurar o DKIM
O DKIM assina cabeçalhos e corpo com uma chave privada guardada no servidor de envio, e publica a chave pública no seu DNS. A entrada tem um seletor, que permite mais de uma chave no mesmo domínio — uma por sistema que envia por você.
- Gere o par de chaves na plataforma de envio (prefira 2048 bits; 1024 ainda funciona, mas é o piso).
- Publique o TXT em
seletor._domainkey.seudominio.com.br. - Confirme que a assinatura sai com
d=seudominio.com.br. Se sair com o domínio da plataforma, o DMARC não vai alinhar. - Nunca reaproveite o mesmo seletor entre ferramentas diferentes.
Como configurar o DMARC em três etapas
O erro mais comum aqui é começar por p=reject e derrubar o próprio faturamento — notas fiscais, recuperação de senha e sistemas internos costumam enviar por caminhos que ninguém mapeou. A ordem segura leva algumas semanas:
| Etapa | Registro em _dmarc | O que acontece |
|---|---|---|
| 1. Observar | v=DMARC1; p=none; rua=mailto:dmarc@seudominio.com.br | Nada muda na entrega; você passa a receber relatórios diários de quem envia em seu nome |
| 2. Conter | v=DMARC1; p=quarantine; rua=… | O que falha vai para o spam em vez da caixa de entrada |
| 3. Rejeitar | v=DMARC1; p=reject; rua=… | O que falha é recusado ainda na conversa SMTP |
Fique na etapa 1 até os relatórios mostrarem, por pelo menos duas semanas, que todo remetente legítimo está autenticando e alinhado. Só então avance.
Cinco erros que mais aparecem
- Dois registros SPF. Costuma acontecer quando se contrata uma segunda ferramenta e se cria outro TXT em vez de editar o existente.
- Copiar o SPF de outra empresa. O registro descreve a sua infraestrutura; copiado, autoriza servidores que não são seus e deixa de fora os que são.
- DMARC sem
rua. Sem endereço de relatório, você endurece a política às cegas. - Assinatura DKIM com o domínio da plataforma. Passa no DKIM, falha no DMARC por desalinhamento.
- Esquecer os domínios que não enviam. Domínio parado também é falsificado: publique
v=spf1 -allep=rejectnos que não mandam e-mail.
Como conferir que ficou certo
Não confie no painel de quem vendeu a configuração. Envie uma mensagem real para uma caixa no Gmail, abra o menu da mensagem, escolha "Mostrar original" e leia o cabeçalho Authentication-Results. Você quer ver as três palavras:
spf=pass dkim=pass dmarc=pass
Se aparecer dmarc=fail com spf=pass, o problema é alinhamento, não configuração de SPF — volte à segunda seção deste guia.
Perguntas frequentes
Preciso mesmo dos três protocolos?
Sim. SPF sozinho não sobrevive a encaminhamento, DKIM sozinho não diz ao provedor o que fazer quando falha, e DMARC sem os outros dois não tem o que verificar. Desde 2024, Gmail e Yahoo passaram a exigir os três de quem envia grande volume.
Quanto tempo leva para o registro valer?
A publicação no DNS costuma propagar em minutos, mas depende do TTL configurado na zona — pode levar até 24 horas para todos os servidores enxergarem. Confira sempre com um envio real antes de considerar concluído.
Posso começar direto com p=reject no DMARC?
Pode, mas é arriscado. Sistemas que enviam em seu nome sem ninguém lembrar (ERP, emissor de nota, formulário do site) passam a ser rejeitados de imediato. O caminho seguro é ficar em p=none até os relatórios mostrarem que todo remetente legítimo está autenticado.
O que é o limite de 10 consultas do SPF?
A especificação do SPF limita a dez o número de consultas de DNS necessárias para avaliar o registro. Cada include: consome pelo menos uma. Passando desse limite, o resultado é permerror e a checagem falha, mesmo com o registro aparentemente correto.