Blog

Tips, guides, and privacy advice

← Back to Blog
Guia

SPF, DKIM e DMARC explicados em linguagem simples (com exemplos)

Por Khaja Hussain·15 de outubro de 2026·7 min read

Porque é que o email precisa disto

Aqui vai a verdade incómoda sobre o email: foi desenhado no início dos anos 80 para uma pequena rede de pessoas que confiavam umas nas outras. Tal como vem de origem, qualquer pessoa pode enviar um email a dizer que é de [email protected]. Não há nada no protocolo básico que o impeça.

O SPF, o DKIM e o DMARC foram acrescentados mais tarde para resolver isso. Juntos, permitem que quem recebe o email, como o Gmail, o Outlook ou o Yahoo, responda a uma pergunta: este email vem mesmo do domínio que diz? Se a resposta for não, o email vai para o spam ou é rejeitado. E se o seu próprio domínio não os tiver configurados, os seus emails verdadeiros podem ser tratados como falsos.

Uma comparação rápida ajuda:

  • SPF é a lista de convidados: que servidores podem enviar email em nome do seu domínio.
  • DKIM é o selo de lacre: uma assinatura que prova que o email não foi alterado pelo caminho.
  • DMARC são as instruções para o segurança da porta: o que fazer quando um email falha as verificações e a quem avisar.

SPF: a lista de convidados

O SPF (Sender Policy Framework) é uma única linha de texto que você publica no DNS do seu domínio. Lista os servidores e serviços autorizados a enviar email em seu nome. Quando o Gmail recebe um email do seu domínio, consulta essa lista e verifica se o servidor que o enviou está lá.

Um registo SPF típico tem este aspeto:

v=spf1 include:_spf.google.com include:sendgrid.net ~all

Lendo da esquerda para a direita:

  • v=spf1: "isto é um registo SPF".
  • include:_spf.google.com: o Google Workspace pode enviar em meu nome.
  • include:sendgrid.net: o SendGrid também (por exemplo, para os emails da minha app).
  • ~all: tudo o resto provavelmente não sou eu, por isso desconfie. (-all significa "de certeza que não sou eu, rejeite".)
Os dois erros mais comuns no SPF: ter dois registos SPF no mesmo domínio (tem de os juntar numa só linha) e esquecer-se de um serviço. Se a sua ferramenta de newsletters ou o seu helpdesk enviam email com o seu domínio, também têm de estar na lista.

Há ainda um limite de 10 consultas DNS dentro de um registo SPF. Cada include: conta, e os includes que estão dentro deles também. Se usar muitos serviços, pode ultrapassar o limite sem dar por isso, e aí o SPF falha para toda a gente.

DKIM: o selo de lacre

O SPF verifica de onde veio um email. O DKIM (DomainKeys Identified Mail) verifica se o próprio email não foi adulterado. O seu serviço de email assina cada mensagem enviada com uma chave privada que só ele conhece. Você publica a chave pública correspondente no seu DNS, e o servidor que recebe o email usa essa chave pública para verificar a assinatura.

Se alguém alterou o email pelo caminho, nem que seja uma única palavra no corpo, a assinatura deixa de bater certo. É como o selo de lacre de uma carta antiga: se o selo estiver partido, sabe que alguém a abriu.

Um registo DKIM é publicado num nome especial, por exemplo google._domainkey.yourdomain.com, e o seu valor é mais ou menos assim:

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu1...

A boa notícia: nunca é você que escreve isto. O seu fornecedor de email gera-o e você só tem de o copiar para o DNS. A palavra antes de ._domainkey (aqui google) chama-se seletor. Serve simplesmente para poder ter várias chaves, uma por serviço.

DMARC: as instruções para o segurança da porta

O SPF e o DKIM dão factos ao servidor que recebe o email. O DMARC (Domain-based Message Authentication, Reporting and Conformance) diz-lhe o que fazer com esses factos. Acrescenta ainda uma regra importante chamada alinhamento: o domínio que passa no SPF ou no DKIM tem de coincidir com o domínio que o leitor vê de facto na linha "De". Sem essa regra, um burlão podia passar no SPF com o próprio domínio enquanto mostrava o seu.

Um registo DMARC fica em _dmarc.yourdomain.com e tem este aspeto:

v=DMARC1; p=none; rua=mailto:[email protected]
  • p=none: só observar, sem bloquear nada por enquanto. Perfeito para começar.
  • p=quarantine: enviar para o spam os emails que falham.
  • p=reject: recusar completamente os emails que falham. A proteção mais forte.
  • rua=mailto:...: para onde os destinatários devem enviar os relatórios-resumo diários.

Esses relatórios são a joia escondida. Mostram todos os servidores que estão a enviar email com o seu domínio, incluindo serviços de que já se tinha esquecido e qualquer pessoa que esteja a tentar fazer-se passar por si.

Configurar tudo, passo a passo

Imagine que é dono de myshop.com, usa o Google Workspace para a caixa de correio e um serviço como o SendGrid ou o Mailgun para as confirmações de encomenda. Esta é a ordem pela qual eu faria as coisas:

  1. Liste tudo o que envia email com o seu domínio: o fornecedor da caixa de correio, o seu site ou app, a ferramenta de newsletters, o helpdesk, o software de faturação. É o passo que as pessoas saltam, e o que mais problemas causa depois.
  2. Crie um único registo SPF no seu DNS (um registo TXT em myshop.com) que inclua todos, terminando em ~all.
  3. Ative o DKIM em cada serviço. Cada um dá-lhe um registo para copiar para o DNS. Depois carregue em "verificar" ou "começar a autenticar" nesse serviço.
  4. Adicione um registo DMARC com p=none e um endereço para os relatórios, em _dmarc.myshop.com.
  5. Espere uma a duas semanas e leia os relatórios. Corrija tudo o que for legítimo e esteja a falhar.
  6. Aperte a política para p=quarantine e, mais tarde, para p=reject, quando tiver a certeza de que todo o seu email verdadeiro passa.
As alterações de DNS podem demorar desde uns minutos até umas horas a aparecer em todo o lado. Se uma verificação falhar logo depois de adicionar um registo, dê-lhe algum tempo antes de mudar o que quer que seja.

Como verificá-los em qualquer email que receba

Não precisa de ferramentas nenhumas. A sua app de email já mostra os resultados:

  • Gmail: abra o email, clique nos três pontos e depois em Mostrar original. No topo vai ver linhas como SPF: PASS, DKIM: PASS e DMARC: PASS.
  • Outlook: abra a mensagem, depois View e View message details (ou Message source), e procure o cabeçalho Authentication-Results.
  • Apple Mail: View, depois Message e por fim All Headers.

Um cabeçalho real é parecido com isto:

Authentication-Results: mx.google.com;
  dkim=pass header.d=myshop.com;
  spf=pass smtp.mailfrom=myshop.com;
  dmarc=pass (p=QUARANTINE) header.from=myshop.com

Três "pass" e domínios que coincidem: esse email é verdadeiro. Se vir fail, ou se os domínios não coincidirem com o remetente que aparece, tenha cuidado. É um dos sinais de alerta de que falo em como identificar um email de phishing.

Se estiver a configurar o seu próprio domínio, uma forma rápida de testar é enviar um email para uma caixa de entrada temporária e para um endereço do Gmail, e depois verificar os cabeçalhos da cópia do Gmail. Demora dois minutos e mostra exatamente o que o resto do mundo vê.

Problemas comuns e soluções rápidas

  • "SPF: softfail" ou "neutral": o servidor que enviou o email não está no seu registo SPF. Adicione o serviço com o include: que ele lhe indicar.
  • "SPF permerror": normalmente são dois registos SPF ou mais de 10 consultas. Junte tudo num só registo e retire os serviços que já não usa.
  • "DKIM: fail" depois de editar um modelo: algo reescreveu o email depois de ele ser assinado (alguns serviços de reencaminhamento e rodapés de email fazem isto). Envie diretamente e teste outra vez.
  • O DMARC falha apesar de o SPF passar: é o alinhamento. O SPF passou para o domínio do seu serviço de envio, não para o seu. Ative o DKIM com o seu próprio domínio nesse serviço ou defina um domínio de return-path personalizado.
  • Os emails continuam a ir para o spam com tudo a passar: a autenticação prova quem você é, não que as pessoas queiram os seus emails. O conteúdo, a reputação de envio e a taxa de queixas também contam. Escrevi mais sobre isso em porque é que os emails das apps vão parar ao spam.

Precisa mesmo dos três?

Sim. Desde 2024, o Gmail e o Yahoo exigem SPF, DKIM e um registo DMARC a quem envia email em grandes volumes, e até os remetentes pequenos têm uma entrega muito melhor com os três configurados. Mais importante ainda: o DMARC com p=reject é o que impede os burlões de enviarem emails falsos em seu nome aos seus próprios clientes.

A configuração leva uma tarde. Depois disso, protege o seu domínio discretamente, todos os dias. Se tem um domínio e anda a adiar isto, este é o seu sinal. Comece hoje com p=none. Pode apertar mais tarde.