Como usar
- 1.Digite um domínio, como
example.com, ou cole um endereço de e-mail para verificar a parte depois do @. - 2.Adicione um seletor DKIM se você souber qual é (o valor de
s=no cabeçalhoDKIM-Signaturede um e-mail); caso contrário, são testados os seletores dos grandes provedores. - 3.Clique em Verificar. O resultado no topo resume SPF, DKIM e DMARC; cada seção abaixo mostra o registro, o que ele significa e o que corrigir.
- 4.Abra os includes do SPF para ver qual serviço usa quantas das 10 consultas DNS, e passe o mouse sobre um domínio ou faixa de IP para consultá-lo em outra ferramenta.
O que SPF, DKIM e DMARC fazem
O e-mail foi criado sem nenhuma verificação do remetente, então qualquer um pode colocar o seu domínio no campo “De” (From). Três registros DNS resolvem isso. O SPF (um registro TXT que começa com v=spf1) lista os servidores autorizados a enviar e-mails pelo domínio. O DKIM assina cada mensagem com uma chave cuja metade pública fica publicada em <selector>._domainkey.<domain>, para que os receptores possam verificar que a mensagem não foi alterada e vem mesmo do domínio. O DMARC (um registro TXT em _dmarc.<domain>) vincula os dois ao endereço que as pessoas realmente veem no campo “De” e diz aos receptores o que fazer quando nenhum dos dois passa: nada (p=none), pasta de spam (p=quarantine) ou recusar (p=reject).
Uma mensagem passa no DMARC quando o SPF ou o DKIM passa para um domínio que corresponde ao domínio do campo “De”. O encaminhamento costuma quebrar o SPF, e é por isso que o DKIM importa: a assinatura sobrevive ao encaminhamento, o endereço do servidor remetente não. Gmail, Yahoo e Microsoft agora exigem SPF, DKIM e um registro DMARC de quem envia e-mails em massa.
O limite de 10 consultas DNS do SPF
Para avaliar o SPF, um servidor receptor pode fazer no máximo 10 consultas DNS (RFC 7208). Cada include, a, mx, ptr, exists e redirect custa uma, inclusive os que estão dentro dos registros incluídos. ip4, ip6 e all não custam nada. Passe de 10 e o resultado é um erro permanente (permerror): o SPF falha para todas as mensagens, muitas vezes sem que ninguém perceba.
Cada serviço de e-mail que você adiciona (um CRM, uma ferramenta de newsletter, um help desk) costuma trazer um include com várias consultas próprias, e os provedores mudam os deles com o tempo. Remova os includes de serviços que você não usa mais, use o include mais restrito do provedor, se ele oferecer um, e envie e-mails de marketing a partir de um subdomínio com registro SPF próprio. Consultas que não encontram nada também contam: mais de duas delas também geram erro.
Como passar o DMARC de none para reject com segurança
Comece com p=none e um endereço rua. Os receptores passam a enviar relatórios agregados diários com todos os servidores que enviaram e-mails como o seu domínio e se o SPF e o DKIM passaram. Um serviço de relatórios ou um parser gratuito transforma o XML em uma lista legível.
Corrija cada fonte legítima que falha: adicione-a ao SPF, ative a assinatura DKIM nesse serviço ou mova-a para um subdomínio. Quando os relatórios mostrarem apenas os seus próprios e-mails passando, mude para p=quarantine, opcionalmente com pct abaixo de 100 para começar aos poucos, e, depois de algumas semanas tranquilas, para p=reject. Continue lendo os relatórios depois disso; uma ferramenta nova que envie como o seu domínio vai aparecer neles primeiro.
Perguntas frequentes
Como corrigir “SPF permerror: too many DNS lookups”?
Conte as consultas: este verificador soma cada include, a, mx, ptr, exists e redirect em todos os registros aninhados. Remova os includes de serviços que você não usa mais, troque os includes dos seus próprios servidores por faixas ip4/ip6 e mova os remetentes em massa para um subdomínio com registro SPF próprio. Evite serviços de “SPF flattening”, a menos que eles mantenham os endereços atualizados, porque os provedores mudam as faixas deles.
Por que o verificador não encontra a minha chave DKIM?
As chaves DKIM só podem ser consultadas pelo seletor, e não há como listá-las. Sem um seletor, o nestoo testa os nomes usados pelos grandes provedores (Google, Microsoft 365, Mailchimp, SendGrid, Zoho e outros). Abra um e-mail do domínio, veja o cabeçalho DKIM-Signature e digite o valor de s=, por exemplo s=20230601, como seletor.
p=none é suficiente?
Não. p=none só pede relatórios; e-mails que falham no DMARC são entregues como antes, então o spoofing continua funcionando. É o primeiro passo certo. Passe para p=quarantine e depois para p=reject quando os relatórios mostrarem que todos os seus e-mails legítimos passam.
O SPF deve terminar com ~all ou -all?
Os dois protegem o domínio quando há DMARC, porque é o DMARC que decide o que acontece com os e-mails reprovados. ~all (softfail) é a escolha mais comum e é mais tolerante se você esquecer algum remetente. -all é mais rígido e funciona bem quando você tem certeza de que o registro está completo. Nunca use +all nem ?all.
Um domínio que não envia e-mails precisa desses registros?
Sim, senão spammers podem usá-lo. Publique v=spf1 -all, um registro DMARC com p=reject e, se quiser, um registro MX nulo (0 .) e uma chave DKIM vazia em *._domainkey. Juntos, eles dizem a todos os receptores que nenhum e-mail deste domínio é legítimo.