Um registro DMARC com p=none pede aos destinatários que observem e enviem relatórios, e só isso. Mensagens que falsificam o seu domínio no remetente visível (From) continuam sendo entregues como se não houvesse política nenhuma. Passar para p=quarantine e depois para p=reject pede que essas mensagens vão para o spam ou sejam recusadas, mas o mesmo pedido atinge qualquer serviço legítimo que tenha ficado de fora: a ferramenta de faturamento, o sistema de atendimento, o CRM que envia propostas com o seu domínio.
Este guia mostra o caminho seguro: ler os relatórios agregados (rua), montar a lista completa de remetentes, escolher entre alinhamento relaxado e estrito, escalonar a mudança com t=y agora que o padrão atual removeu o pct, definir a política de subdomínios com sp e np, um cronograma realista, o que fazer quando e-mails legítimos falham e como conferir o que está realmente publicado. Todos os domínios, endereços IP e seletores são exemplos.
Escopo deste guia
O verificador gratuito de SPF e DMARC e o snapshot gratuito leem registros DNS públicos no nome exato que você digitar. Eles apontam um registro DMARC ausente ou p=none, mas não leem seus relatórios nem avaliam sp, np, t, pct ou o alinhamento, e não são um pentest.
1. O que p=none, quarantine e reject pedem aos destinatários
A tag p do registro DMARC em _dmarc.example.com diz o que você gostaria que os destinatários fizessem com mensagens cujo domínio From falha no DMARC, ou seja, quando nem o SPF nem o DKIM passaram para um domínio alinhado a ele. É um pedido, não uma ordem. A RFC 9989, o padrão DMARC publicado em maio de 2026 que substitui a RFC 7489, deixa a decisão final para a política local de cada destinatário.
| Política | O destinatário deve | Um remetente legítimo esquecido | Uso típico |
|---|---|---|---|
p=none | Não mudar nada na entrega e apenas enviar relatórios | É entregue como antes; as falhas aparecem nos relatórios | Monitoramento enquanto você encontra e corrige remetentes |
p=quarantine | Tratar a mensagem que falha como suspeita, em geral mandando para o spam ou segurando para análise | Vai para a pasta de spam; talvez ninguém a veja | Primeira etapa de aplicação |
p=reject | Recusar a mensagem que falha durante a sessão SMTP com um erro permanente 5xx | Volta; o serviço que enviou recebe um aviso de não entrega | Etapa final para domínios com todas as fontes alinhadas e assinadas com DKIM |
Dois pontos definem a implantação. Primeiro, p=none não protege nada sozinho; ele gera relatórios, e só se o registro tiver um endereço rua. Segundo, nem todos os destinatários aplicam a política do mesmo jeito. A RFC 9989 orienta que não recusem uma mensagem só porque a política diz reject, e alguns colocam essa mensagem em quarentena, então a mesma mudança pode ter efeitos diferentes em cada provedor de e-mail. Planeje a transição como uma sequência de passos pequenos e reversíveis, e não como um interruptor.
Os grandes provedores de e-mail já exigem um registro DMARC de quem envia em massa, mas aceitam p=none. O guia para verificar SPF e DMARC resume essas exigências e explica cada tag do registro.
2. Como ler os relatórios agregados do DMARC (rua)
São os relatórios agregados que tornam a mudança segura. Inclua um endereço de relatórios no registro, por exemplo rua=mailto:dmarc-reports@example.com, e os destinatários que enviam relatórios vão mandar um arquivo XML compactado, normalmente referente a um dia UTC, com cada endereço IP que enviou mensagens com o seu domínio no From e o resultado de cada um. O formato é definido pela RFC 9990. Um nome de arquivo como receiver.example!example.com!1791590400!1791676800.xml.gz indica o destinatário que reporta, o seu domínio e o início e o fim do período em timestamps Unix.
Cada <record> do arquivo agrupa mensagens por origem e resultado. Estes são os campos que mais importam:
| Campo | O que informa | O que procurar |
|---|---|---|
source_ip, count | O servidor que enviou e quantas mensagens ele mandou no período | Endereços desconhecidos com volume alto; descubra quem os opera |
policy_evaluated: dkim, spf | O veredito do DMARC para cada método: aqui, pass significa que passou e estava alinhado | Uma fonte legítima com fail nos dois será afetada pela aplicação |
policy_evaluated: disposition | O que o destinatário fez: none, pass, quarantine ou reject | Depois de uma mudança, quarentena ou recusa em mensagens que você reconhece |
reason | Por que o destinatário se afastou da sua política: local_policy, mailing_list, trusted_forwarder, policy_test_mode ou other | Listas e encaminhamentos que vão precisar de DKIM para passar |
identifiers: header_from, envelope_from | O domínio From e o domínio do remetente do envelope (Return-Path) | Um domínio de envelope que pertence ao provedor, e não a você |
auth_results: dkim e spf | Os resultados brutos antes do alinhamento, com o domínio que assinou, o seletor e o domínio do SPF | DKIM passando para o domínio do provedor em vez do seu |
A diferença entre a última linha e policy_evaluated é a lição mais útil aqui. Uma plataforma de newsletter pode mostrar um DKIM pass em auth_results para mailer.example.net e mesmo assim falhar no DMARC, porque esse domínio não está alinhado com example.com. Só policy_evaluated mostra a conclusão do DMARC.
Leia os relatórios ao longo de várias semanas, não de um dia: faturas mensais, newsletters trimestrais e avisos de renovação anual chegam no seu próprio ritmo. Com algum volume, o XML bruto fica cansativo; um parser ou ferramenta de relatórios que agrupe as linhas por origem, alinhamento e disposição a cada dia torna a análise viável. Nem todo destinatário envia relatórios agregados, então uma semana tranquila não significa um domínio tranquilo. Se o endereço rua estiver em outro domínio organizacional, esse domínio precisa publicar um registro de autorização como example.com._report._dmarc.reports.example.net começando com v=DMARC1; caso contrário, os destinatários ignoram o endereço (RFC 9990, seção 4).
3. Encontre todos os remetentes legítimos antes de aplicar a política
Aplicar a política só é seguro quando você conhece cada sistema que coloca o seu domínio no From. Monte a lista pelos dois lados: o que a empresa usa e o que os relatórios mostram. Fontes comuns:
- A plataforma de e-mail que a equipe usa no dia a dia.
- Marketing e newsletters, inclusive aquela ferramenta de campanhas antiga em que alguém ainda entra.
- E-mails transacionais da sua aplicação: confirmações de cadastro, redefinição de senha, recibos.
- Ferramentas de negócio: CRM, faturamento e cobrança, atendimento, RH e recrutamento, agenda e assinatura eletrônica.
- Formulários e plugins do site que enviam como
noreply@example.com. - Dispositivos e scripts: scanners, alertas de monitoramento, tarefas agendadas e relays próprios.
Depois, associe cada origem dos relatórios a um item da lista. Uma consulta reversa do IP (dig +short -x 192.0.2.10) costuma revelar o provedor, e a documentação dele explica o include de SPF e a configuração de DKIM que ele suporta. Registre o resultado em uma tabela como esta:
| Origem | Indício nos relatórios | SPF alinhado | DKIM alinhado | Ação |
|---|---|---|---|---|
| Plataforma de e-mail da equipe | IPs do provedor, DKIM d=example.com | Sim | Sim | Nenhuma |
| Plataforma de newsletter | Domínio de envelope e DKIM em mailer.example.net | Não | Não | Configurar a assinatura DKIM com d=example.com |
| Sistema de faturamento | IP próprio, sem assinatura DKIM | Sim | Não | Adicionar DKIM; só SPF quebra no encaminhamento |
| Formulário de contato | IP do servidor web, envelope no domínio da hospedagem | Não | Não | Enviar por um relay autenticado ou por um provedor de e-mail |
| Desconhecido | Muitos IPs, poucas mensagens cada, domínios de envelope sem relação | Não | Não | Provavelmente falsificado: deixe falhar |
A última linha é o objetivo do exercício. Quando todas as fontes conhecidas passam, o que continua falhando é sobretudo e-mail falsificado ou mal configurado, e é exatamente isso que a política deve barrar. As fontes que enviam de vez em quando são as mais esquecidas, então pergunte ao financeiro, ao RH e ao atendimento quais ferramentas eles usam antes de confiar em um mês tranquilo.
4. Alinhamento de SPF e DKIM: relaxado ou estrito
O DMARC passa quando o SPF ou o DKIM passa e o domínio verificado está alinhado com o domínio From. Um resultado alinhado basta. No SPF, o domínio verificado é o do remetente do envelope (RFC 7208); no DKIM, é o valor d= de uma assinatura válida (RFC 6376). As tags aspf e adkim definem o quanto eles precisam coincidir:
- Relaxado (
r, o padrão): os dois domínios compartilham o mesmo domínio organizacional, entãobounce.example.comenews.example.comestão alinhados comexample.com. - Estrito (
s): os domínios precisam ser idênticos.
A RFC 9989 determina o domínio organizacional com uma varredura da árvore DNS (DNS Tree Walk), consultando registros _dmarc do nome completo para cima, em vez da lista de sufixos públicos usada pela RFC 7489.
| Domínio From | SPF passa para | DKIM d= | Relaxado | Estrito |
|---|---|---|---|---|
example.com | bounce.example.com | nenhum | Alinhado pelo SPF | Não alinhado |
news.example.com | example.com | news.example.com | Alinhado pelo SPF e pelo DKIM | Alinhado só pelo DKIM |
example.com | mailer.example.net | mailer.example.net | Não alinhado | Não alinhado |
example.com | nada (encaminhado, SPF falha) | example.com | Alinhado pelo DKIM | Alinhado pelo DKIM |
A RFC 9989 observa que quase todos os donos de domínio acham o alinhamento relaxado suficiente. O estrito quebra o padrão comum de um subdomínio de bounce por provedor, então mantenha o padrão, a menos que haja um motivo concreto, como subdomínios delegados a fornecedores, em que o alinhamento relaxado deixaria uma mensagem autenticada para vendor.example.com passar por example.com. Seja qual for a escolha, faça do DKIM o método alinhado de todas as fontes. O SPF quebra quando a mensagem é encaminhada, porque o servidor que encaminha não está no seu registro; uma assinatura DKIM em geral sobrevive ao encaminhamento enquanto a mensagem não é alterada.
5. Implantação em etapas: o pct saiu, use t=y
Guias antigos escalonam com pct: p=quarantine; pct=10, depois 25, 50 e 100, para que a política cubra uma amostra crescente das mensagens que falham. Pela RFC 7489, o que ficava fora da amostra recebia a política imediatamente inferior. A RFC 9989 removeu a tag; o apêndice A.6 explica que valores diferentes de 0 e 100 quase nunca eram aplicados com precisão e que o desvio variava muito entre implementações.
A remoção tem uma armadilha. A RFC 9989 manda os destinatários ignorarem tags que não conhecem, então um destinatário que segue o novo padrão lê p=quarantine; pct=25 como um simples p=quarantine e aplica a política a todas as mensagens que falham. Não dá mais para confiar em um pct parcial para limitar o impacto.
O substituto é o indicador de teste t. Com t=y, os destinatários são convidados a aplicar um nível abaixo da política publicada: p=quarantine; t=y é tratado como none, e p=reject; t=y como quarantine. Os relatórios continuam chegando normalmente, e o destinatário pode registrar o desvio com o motivo policy_test_mode. A RFC 9989 apresenta t=y e t=n como equivalentes de pct=0 e pct=100.
Durante a transição, alguns destinatários ainda implementam só a RFC 7489 e ignoram t, enquanto os mais novos ignoram pct. Como pct=0 nas regras antigas e t=y nas novas pedem o mesmo tratamento, você pode publicar os dois durante o teste:
v=DMARC1; p=quarantine; t=y; pct=0; rua=mailto:dmarc-reports@example.comAcompanhe os relatórios por algumas semanas e depois remova as duas tags para que p=quarantine valha por completo. Repita o padrão antes do reject: p=reject; t=y; pct=0 pede quarentena, e retirar as duas tags ativa a recusa.
Você também pode escalonar por fluxo de e-mail em vez de por porcentagem. Um subdomínio como news.example.com pode ter o próprio registro DMARC e entrar na aplicação antes ou depois do domínio principal; o próprio exemplo de implantação da RFC 9989 testa p=quarantine com t=y em um subdomínio antes de endurecer a política.
6. Política de subdomínios: sp e np
Um registro DMARC em example.com também cobre os subdomínios que não têm registro _dmarc próprio. Duas tags permitem que a política dos subdomínios seja diferente de p:
| Configuração | Vale para | Se estiver ausente | Exemplo de uso |
|---|---|---|---|
sp | Subdomínios existentes sem registro próprio | Vale o p | p=reject; sp=quarantine enquanto os remetentes dos subdomínios ainda estão sendo corrigidos |
np | Subdomínios que não existem no DNS | Vale o sp e, na falta dele, o p | np=reject desde o início, porque um nome inexistente não envia e-mail legítimo |
Registro _dmarc próprio de um subdomínio | Esse subdomínio | Vale o sp ou o p do registro pai | Um subdomínio de marketing com cronograma próprio |
Algumas regras deixam o comportamento previsível. O sp só tem efeito no registro do domínio organizacional; um subdomínio que publica o próprio registro segue o p desse registro. Definir np=reject enquanto o p ainda está em none é um primeiro passo de baixo risco: mensagens falsificadas vindas de nomes inventados como billing-support.example.com são recusadas, e os destinatários que não suportam np simplesmente usam sp ou p. Antes de contar com isso, confira se cada subdomínio do qual você realmente envia tem pelo menos um registro DNS, para que conte como existente. E lembre que o SPF não é herdado: cada nome usado como remetente do envelope precisa do próprio registro SPF, independentemente da política DMARC.
7. Um cronograma realista de p=none a p=reject
Nenhum cronograma serve para todos os domínios, e a RFC 9989 avisa que podem ser necessários muitos meses de relatórios até que o dono do domínio esteja pronto para aplicar a política. Para domínios cujos usuários participam de listas de discussão, ela sugere pelo menos um mês em p=none e outro tanto em p=quarantine, comparando os resultados, e mesmo assim recomenda que esses domínios não publiquem reject. Uma empresa com poucos serviços de envio poderia planejar assim:
| Fase | Registro (simplificado) | Duração típica | Avance quando |
|---|---|---|---|
| Inventário e monitoramento | p=none; rua=… | 4 a 8 semanas | Todas as fontes conhecidas passam com DKIM alinhado; o que falha é desconhecido ou falsificado |
| Teste de quarantine | p=quarantine; t=y; pct=0 | 2 a 4 semanas | Nenhuma fonte legítima nova aparece nos relatórios |
| Quarantine | p=quarantine | 4 semanas ou mais | Ninguém relata e-mails sumidos; as disposições batem com o esperado |
| Teste de reject | p=reject; t=y; pct=0 | 2 a 4 semanas | Mensagens encaminhadas e de listas continuam passando pelo DKIM |
| Reject | p=reject | Contínuo | Revise os relatórios pelo menos uma vez por mês e sempre que uma ferramenta nova começar a enviar |
Antes de cada mudança, reduza o TTL do registro TXT _dmarc, por exemplo para 300 segundos, com pelo menos um período do TTL antigo de antecedência, para que um retorno chegue rápido aos resolvers. Faça as mudanças no começo da semana, avise a equipe de atendimento sobre o que observar e mantenha um histórico datado de cada valor publicado. A RFC 9989 exige que todo domínio que publica p=reject assine suas mensagens com assinaturas DKIM válidas em vez de depender só do SPF. Reject não é o único bom destino: para um domínio que a equipe usa em listas de discussão, uma quarentena bem monitorada pode ser a melhor escolha, enquanto um domínio usado só para faturas e notificações é um candidato natural ao reject.
8. Quando e-mails legítimos falham: diagnosticar, corrigir, voltar atrás
Cedo ou tarde, um relatório ou um colega vai mostrar e-mails legítimos falhando. Encontre as linhas correspondentes nos relatórios agregados, ou peça os cabeçalhos completos de uma mensagem afetada e leia o cabeçalho Authentication-Results; depois compare o padrão:
| Sintoma | Causa provável | Correção |
|---|---|---|
| SPF passa para o domínio do provedor, sem DKIM para o seu | O serviço usa os próprios domínios de envelope e de assinatura | Ative o DKIM personalizado no serviço, publique o seletor dele em example.com e, se houver a opção, um subdomínio de bounce próprio |
| DKIM falha com um seletor conhecido | Chave trocada ou removida, registro truncado ou mensagem alterada depois da assinatura | Publique de novo a chave do provedor e confira o registro TXT em selector._domainkey.example.com |
SPF permerror | Mais de 10 termos com consulta DNS, ou dois registros SPF no mesmo nome | Remova includes sem uso e junte os registros, como explica o guia do registro SPF |
| Falha só para alguns destinatários | Encaminhamento: o IP de quem encaminha não está no seu SPF | Conte com o DKIM alinhado, que em geral sobrevive ao encaminhamento |
| Falha em uma lista de discussão | A lista alterou o assunto ou o corpo e quebrou a assinatura DKIM | Listas que reescrevem o From evitam a falha; considere ficar em quarantine nos domínios muito usados em listas |
| Alertas internos ou um scanner falham | O dispositivo envia direto, sem autenticação | Faça o envio passar por um relay autenticado ou por um provedor que assine com o seu domínio |
Se a falha for grande, ou atingir e-mails ligados a receita, como recibos e redefinições de senha, volte atrás primeiro e investigue depois: acrescente t=y e pct=0, ou retorne à política anterior. Com um TTL curto, a mudança chega à maioria dos resolvers em minutos. Uma recusa 5xx é definitiva, então a mensagem já recusada não será entregue depois; diga à equipe afetada quais mensagens precisam ser reenviadas. Em seguida, corrija a fonte, acompanhe alguns dias de relatórios até ela passar e avance de novo. Encaminhadores e listas que preservam os resultados de autenticação com ARC (RFC 8617) ajudam, mas a RFC 9989 observa que nenhum mecanismo desse tipo é amplamente usado ainda; por isso, DKIM em todas as fontes continua sendo a correção confiável.
9. Como conferir o registro DMARC publicado
Confira o que está realmente publicado, e não o que o painel do seu DNS mostra:
dig +short TXT _dmarc.example.com
nslookup -type=TXT _dmarc.example.com
dig +short NS example.com
dig +short TXT _dmarc.example.com @ns1.example.netAs duas primeiras linhas mostram o que os resolvers retornam; a última consulta diretamente um servidor autoritativo, que mostra a mudança antes de as respostas em cache expirarem. Confirme que:
- existe exatamente um registro TXT em
_dmarccomeçando comv=DMARC1; se houver dois, os destinatários descartam ambos e o domínio se comporta como se não tivesse DMARC; v=DMARC1é a primeira tag eptem o valornone,quarantineoureject;- a caixa do
ruaexiste e, se estiver em outro domínio, está autorizada com um registro_report._dmarc; - as tags estão separadas por ponto e vírgula, sem aspas tipográficas nem caracteres soltos copiados de um documento.
Depois, envie uma mensagem de cada serviço para uma caixa que você controla e leia o cabeçalho Authentication-Results: dmarc=pass junto com o seu domínio From é o veredito do destinatário, e é ele que vale.
Para uma visão rápida de fora, o verificador gratuito de registros SPF e DMARC lê o registro _dmarc no nome exato que você digitar, sem recorrer ao domínio pai. Ele aponta um registro ausente (médio, se o host tiver registros MX) e p=none (baixo, como modo de monitoramento); quarantine e reject não geram sinal. Ele não lê seus relatórios nem avalia sp, np, t, pct, rua ou o alinhamento. A mesma verificação de DNS de e-mail também lê SPF, MTA-STS e CAA, e é uma das oito verificações passivas do snapshot gratuito de prontidão para lançamento, que não exige cadastro e devolve uma pontuação com o resultado de cada verificação. Para uma revisão contínua, veja o guia de segurança de e-mail e DNS.
Perguntas frequentes
Qual é a diferença entre DMARC quarantine e reject?
p=quarantine pede aos destinatários que tratem a mensagem que falha como suspeita, o que costuma significar a pasta de spam. p=reject pede que ela seja recusada durante a sessão SMTP, então nunca é entregue e o serviço que enviou recebe um bounce. A decisão final é do destinatário, e alguns colocam a mensagem em quarentena mesmo com p=reject.
Quanto tempo devo ficar em p=none antes de passar para quarantine?
Até que todas as fontes legítimas passem com alinhamento, o que costuma exigir pelo menos quatro a oito semanas de relatórios para que os envios mensais e ocasionais apareçam. Para domínios cujos usuários participam de listas de discussão, a RFC 9989 sugere pelo menos um mês em none e outro tanto em quarantine.
Ainda posso usar pct=10 ou pct=50 para implantar o DMARC aos poucos?
Não de forma confiável. A RFC 9989 removeu o pct porque valores parciais eram aplicados de forma desigual, e os destinatários que a seguem ignoram a tag e aplicam a política inteira. Use t=y para uma fase de teste, junto com pct=0 para os destinatários que ainda seguem a RFC 7489.
Vale a pena usar alinhamento estrito com adkim=s e aspf=s?
Em geral, não. O alinhamento relaxado, que é o padrão, aceita qualquer subdomínio do seu domínio organizacional, algo de que as configurações com subdomínios de bounce precisam. O estrito faz sentido principalmente quando há subdomínios operados por fornecedores cujas mensagens não devem passar pelo domínio principal.
Para que serve sp= em um registro DMARC?
O sp define a política dos subdomínios existentes que não têm registro DMARC próprio, e o np cobre os subdomínios que não existem no DNS. Sem eles, os subdomínios recebem a política p. Um subdomínio com o próprio registro _dmarc segue esse registro.
O p=reject impede todo phishing que usa a minha marca?
Não. Ele pede aos destinatários que recusem mensagens que falsificam exatamente o seu domínio no From. Domínios parecidos, nomes de exibição enganosos e contas invadidas ficam fora do que o DMARC verifica, então continue lendo os relatórios e prestando atenção ao que os destinatários encaminham para você.
Fontes e leituras
- RFC 9989: DMARCwww.rfc-editor.org
- RFC 9990: relatórios agregados de DMARCwww.rfc-editor.org
- RFC 7489: DMARC (obsoleta; definia a tag pct)www.rfc-editor.org
- RFC 7208: Sender Policy Framework (SPF)www.rfc-editor.org
- RFC 6376: assinaturas DomainKeys Identified Mail (DKIM)www.rfc-editor.org
- RFC 8617: Authenticated Received Chain (ARC)www.rfc-editor.org
- dmarc.org: visão geral do DMARCdmarc.org
Preparado pela equipe editorial do Sitelemetry. Consulte as fontes indicadas para aprofundar o assunto.



