Grátis · sem conta

Verificador de SPF e DMARC

Consulte online os registros SPF, DMARC, MTA-STS e CAA de um domínio e veja como cada um é avaliado. Informe o domínio de onde você envia e-mails, por exemplo example.com em vez de www.example.com.

Uma verificação gratuita das configurações públicas do site. Seu site não é alterado.

Sem cadastro Sem tráfego destrutivo Verificações de sites públicos
Referência de registros

O que cada registro faz e como é avaliado

O verificador lê estes registros no nome de host informado. A falta de SPF, DMARC e MTA-STS só é apontada quando o host tem registros MX, porque um host que não recebe e-mails não precisa deles da mesma forma.

RegistroOnde é publicadoUma boa configuraçãoComo este verificador avalia
MXRegistros MX no nome de host.Presentes em domínios que recebem e-mails.Contados e exibidos; nunca são um achado por si só.
SPFUm registro TXT que começa com v=spf1 no nome de host.Exatamente um registro SPF, que lista todos os serviços que enviam e-mails pelo domínio.Ausente quando o host tem registros MX: médio. O texto do registro é exibido.
Mecanismo all do SPFO último termo do registro SPF.-all ou ~all.+all: alto. ?all: baixo. -all e ~all não geram nada.
Consultas DNS do SPFOs termos include, a, mx, ptr, exists e redirect do registro.No máximo dez termos que precisam de uma consulta DNS.Mais de dez no registro de nível superior: médio. Os destinos include: não são expandidos, então consultas aninhadas não são contadas.
DMARCUm registro TXT que começa com v=DMARC1 em _dmarc.example.com para example.com.p=quarantine ou p=reject quando os relatórios mostrarem que todo e-mail legítimo passa.Ausente quando o host tem registros MX: médio. p=none: baixo. quarantine ou reject: aprovado. sp, pct, rua e alinhamento não são avaliados. Em um subdomínio, os receptores também aplicam a política DMARC do domínio organizacional, que esta verificação não lê.
MTA-STSUm registro TXT que começa com v=STSv1 em _mta-sts.example.com, mais um arquivo de política no host mta-sts.O registro e o arquivo de política, em modo enforce depois de testados.Registro ausente quando o host tem registros MX: baixo. Só o registro DNS é verificado; o arquivo de política não é baixado.
CAARegistros CAA no nome de host.Registros que citam só os emissores de certificados que você usa.Qualquer registro CAA: aprovado. Nenhum: baixo. O conteúdo não é comparado com o seu certificado. Em um subdomínio, os emissores de certificados também respeitam o CAA do domínio pai, que esta verificação não lê.
DKIMRegistros TXT em selector._domainkey.example.com.Uma chave para cada serviço que assina seus e-mails.Não verificado: os nomes de seletor não podem ser descobertos só pelo DNS.

Relatórios TLS, DNSSEC e BIMI não são verificados.

Como corrigir

Como corrigir problemas comuns de SPF e DMARC

Altere um registro de cada vez e dê tempo para o DNS se atualizar antes de verificar de novo. Os exemplos usam example.com e serviços fictícios; substitua-os pelo seu domínio e pelos serviços que realmente enviam seus e-mails.

Publique o DMARC em modo de monitoramento

Adicione um único registro TXT em _dmarc do domínio do seu endereço From. p=none não muda a entrega, e rua pede aos destinatários relatórios agregados que mostram quais servidores enviam e-mails em nome do seu domínio e se passam no SPF ou no DKIM com alinhamento. Se os relatórios forem para outro domínio, esse domínio precisa publicar um registro que os autorize.

; DMARC record for example.com, monitoring only
_dmarc.example.com.  TXT  "v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com"

; Only if rua points to another domain, for example rua=mailto:reports@example.net,
; example.net publishes:
example.com._report._dmarc.example.net.  TXT  "v=DMARC1"

Passe para quarantine e depois para reject

Quando os relatórios mostrarem que todas as fontes legítimas passam, mude para p=quarantine, acompanhe os relatórios de novo e depois passe para p=reject. A RFC 7489 oferecia pct para aplicar a política a uma parte dos e-mails que falham. A RFC 9989, que a substitui, remove o pct porque valores parciais eram aplicados de forma desigual, e adiciona t=y, que pede aos destinatários que apliquem um nível abaixo da política publicada. Destinatários que ainda seguem a RFC 7489 ignoram t=y; por isso, adicione também pct=0 durante o teste, o que pede a eles o mesmo tratamento um nível abaixo. Remova as duas tags para aplicar a política.

; Publish one version at a time, in this order, after p=none
; 1. Quarantine in test mode (t=y, plus pct=0 for RFC 7489 receivers), then in full
_dmarc.example.com.  TXT  "v=DMARC1; p=quarantine; t=y; pct=0; rua=mailto:dmarc-reports@example.com"
_dmarc.example.com.  TXT  "v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com"
; 2. Reject in test mode, then in full
_dmarc.example.com.  TXT  "v=DMARC1; p=reject; t=y; pct=0; rua=mailto:dmarc-reports@example.com"
_dmarc.example.com.  TXT  "v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com"

Um único registro SPF por domínio

Um nome só pode ter um registro TXT que começa com v=spf1; com dois, o SPF falha com um erro permanente. Junte todos os remetentes em um único registro. include: consulta o registro próprio de um provedor, e redirect= entrega a política inteira a outro domínio, o que ajuda quando vários domínios compartilham uma política. redirect= é ignorado se o registro também tiver um termo all.

; Before: two SPF records on one name (permerror)
example.com.  TXT  "v=spf1 include:_spf.mailhost.example ~all"
example.com.  TXT  "v=spf1 include:spf.newsletter.example ~all"

; After: one record
example.com.  TXT  "v=spf1 include:_spf.mailhost.example include:spf.newsletter.example ~all"

; Another domain that uses the same policy
example.org.  TXT  "v=spf1 redirect=example.com"

No máximo dez consultas DNS

O SPF permite no máximo dez termos que exigem uma consulta DNS, contando cada include aninhado: include, a, mx, ptr, exists e redirect. Um a mais e o SPF falha com um erro permanente. Remova os include de serviços que você não usa mais, troque a e mx por faixas ip4 ou ip6 que você controla, elimine ptr e leve um remetente em massa para um subdomínio com o próprio registro SPF. Copiar os endereços de um provedor para o seu registro também economiza consultas, mas a cópia fica desatualizada quando o provedor os muda. Este verificador conta apenas os termos do nível superior.

; One lookup each: include, a, mx, ptr, exists, redirect (plus every lookup inside an include)
; No lookup: ip4, ip6, all

; Before: 4 lookups in the top-level record alone
example.com.       TXT  "v=spf1 a mx include:_spf.mailhost.example include:spf.oldtool.example ~all"

; After: fixed address, unused service removed, bulk mail on its own subdomain
example.com.       TXT  "v=spf1 ip4:192.0.2.10 include:_spf.mailhost.example ~all"
news.example.com.  TXT  "v=spf1 include:spf.newsletter.example ~all"

Escolha ~all ou -all com cuidado

Termine o registro com ~all (softfail) ou -all (fail), nunca com +all, que deixa qualquer servidor passar. -all é o sinal mais rígido, mas um destinatário que verifica o SPF cedo pode então rejeitar um e-mail encaminhado antes que o DMARC veja a assinatura DKIM válida. Com uma política DMARC aplicada, ~all deixa a decisão para o DMARC. Um domínio que não envia e-mails pode publicar v=spf1 -all.

; Choose one ending for example.com, not both
example.com.  TXT  "v=spf1 include:_spf.mailhost.example ~all"
example.com.  TXT  "v=spf1 include:_spf.mailhost.example -all"

; A domain that sends no mail
example.net.  TXT  "v=spf1 -all"

Alinhe o DKIM ao seu domínio From

O DMARC passa quando o SPF ou o DKIM passa para um domínio alinhado com o endereço From. Muitos serviços assinam por padrão com o próprio domínio, o que passa no DKIM, mas não no alinhamento. Ative em cada serviço a assinatura com o seu próprio domínio, para que ela traga d=example.com, e publique a chave ou o CNAME que o serviço indicar sob o seletor dele. O alinhamento relaxado, o padrão, aceita qualquer subdomínio do mesmo domínio organizacional; adkim=s e aspf=s exigem correspondência exata.

; Key for a sending service, selector s1: a CNAME or a TXT record, as the service says
s1._domainkey.example.com.  CNAME  s1.dkim.mailhost.example.
s1._domainkey.example.com.  TXT    "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC..."

; Aligned signature in a delivered message: d= matches the From domain
From: news@example.com
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=s1; ...

Uma mudança de DNS pode levar o tempo do TTL do registro antigo para chegar a todos os resolvedores. Depois execute o verificador de novo no domínio do seu endereço From, porque ele lê exatamente o nome de host informado.

Como ler o resultado

O que significa cada status.

  1. 01AprovadoO registro foi encontrado e passa na verificação.
  2. 02Baixo · Médio · AltoUm registro está ausente ou configurado de um jeito que esta verificação aponta. O nível é o mesmo usado no snapshot completo.
  3. 03ObservadoUm registro foi anotado, mas a verificação não resultou em aprovação nem em achado.
  4. 04Nada observadoA verificação rodou, mas não encontrou nenhum registro para exibir.
  5. 05Não se aplicaA verificação não se aplica, por exemplo SPF ou DMARC quando o host não tem registros MX.
  6. 06Não medidoA consulta DNS falhou, então a verificação não conta como aprovada.
Escopo

O que este verificador não faz.

  1. 01Ele lê os registros no nome de host exato informado. Para www.example.com, consulta www.example.com e _dmarc.www.example.com, não example.com.
  2. 02O nome de host precisa resolver para um endereço. Um domínio usado só para e-mail, sem registro A ou AAAA, não recebe resultado aqui.
  3. 03Ele não verifica DKIM, relatórios TLS nem DNSSEC, e não expande os termos include: do SPF.
  4. 04Os registros de e-mail são lidos só do DNS público, e nenhum e-mail é enviado. A mesma execução também faz algumas requisições comuns à página inicial para as outras sete verificações. Não é um teste de entregabilidade, nem uma varredura de vulnerabilidades, nem um teste de invasão.
  5. 05O resultado é uma visão pontual; mudanças de DNS podem levar tempo para chegar a todos os resolvedores.
Perguntas frequentes

Perguntas sobre a verificação de SPF e DMARC.

Por que www.example.com não mostra registro SPF?

O verificador lê o nome de host exato. Os registros de e-mail costumam ficar no domínio de onde você envia e-mails, então informe o próprio example.com.

p=none está errado?

p=none é o modo de monitoramento. É um primeiro passo normal enquanto você lê os relatórios DMARC, por isso é avaliado como baixo. Passe para quarantine ou reject quando todo e-mail legítimo passar.

Por que o DKIM não é verificado?

As chaves DKIM são publicadas com nomes de seletor que só os serviços de envio conhecem, então não podem ser encontradas só pelo DNS. Verifique-as nas configurações de cada serviço que envia seus e-mails.

Isto testa se meus e-mails chegam à caixa de entrada?

Não. Os registros de e-mail são lidos só do DNS público, e nenhum e-mail é enviado; a mesma execução também faz algumas requisições comuns à página inicial para as outras verificações. Não é uma varredura de vulnerabilidades nem um teste de invasão. A chegada à caixa de entrada também depende do serviço de envio, da reputação dele e de cada mensagem.

Um domínio pode ter dois registros SPF?

Não. Quando um nome tem mais de um registro TXT que começa com v=spf1, o SPF retorna um erro permanente para cada mensagem. Junte os mecanismos em um único registro; um registro longo pode ser dividido em várias strings entre aspas dentro desse mesmo registro, que os destinatários unem sem adicionar espaços.

Por que o DMARC falha quando o SPF passa?

O SPF verifica o remetente do envelope, muitas vezes um domínio de retorno do seu serviço de e-mail, e não o domínio do seu endereço From. Esse resultado só conta para o DMARC quando os dois domínios estão alinhados. Em cada serviço, configure a assinatura DKIM com o seu próprio domínio ou um remetente de envelope próprio em um dos seus subdomínios.

Quanto tempo devo ficar em p=none?

Até que os relatórios agregados mostrem todas as fontes legítimas passando com um domínio alinhado, incluindo e-mails que saem só uma vez por mês, como faturas. Para domínios cujos usuários escrevem em listas de discussão, a RFC 9989 desaconselha reject; se você ainda assim o escolher, fique antes pelo menos um mês em none e o mesmo tempo em quarantine.

Próximo passo

Transforme os problemas encontrados em um plano claro de correção.