O que é o SPF? Sender Policy Framework explicado
O SPF (Sender Policy Framework) é um registo DNS que indica que servidores de correio estão autorizados a enviar e-mail em nome do seu domínio. Sem ele, qualquer pessoa pode forjar mensagens que parecem vir do seu domínio.
Como funciona o SPF
Quando um servidor de correio receptor recebe um e-mail que diz vir de [email protected], consulta os registos TXT do DNS de example.com e procura um registo SPF. Se o IP do servidor remetente constar da lista, o e-mail passa o SPF. Caso contrário, falha.
- O e-mail chega ao servidor de correio do destinatário
- O servidor consulta no DNS o registo SPF do domínio remetente
- O servidor compara o IP remetente com o registo SPF
- Se o IP estiver autorizado, o SPF passa. Caso contrário, falha.
- O servidor receptor aplica a política (~all, -all, etc.)
Sintaxe do registo SPF
Um registo SPF é um registo TXT que começa por v=spf1:
v=spf1 include:_spf.google.com include:sendgrid.net ~all
Analisando em detalhe:
- v=spf1 — Identificador da versão do SPF (é sempre este)
- include:_spf.google.com — autoriza os servidores de correio da Google
- include:sendgrid.net — autoriza os servidores de correio da SendGrid
- ~all — softfail para qualquer outro servidor
Mecanismos do SPF
| Mechanism | Example | Meaning |
|---|---|---|
ip4: | ip4:203.0.113.1 | Autoriza um endereço IPv4 específico |
ip6: | ip6:2001:db8::1 | Autoriza um endereço IPv6 específico |
include: | include:_spf.google.com | Inclui a política SPF de outro domínio |
a | a | Autoriza o IP do próprio registo A do domínio |
mx | mx | Autoriza os IP dos registos MX do domínio |
Qualificadores do all
| Qualifier | Name | Meaning |
|---|---|---|
-all | Fail | Rejeitar correio de servidores não autorizados (estrito) |
~all | Softfail | Aceitar mas marcar como suspeito (recomendado) |
?all | Neutral | Sem política — tratar como se não existisse SPF |
+all | Pass | Permitir todos os servidores — perigoso, nunca use isto |
Registos SPF comuns por fornecedor de correio
# Google Workspace v=spf1 include:_spf.google.com ~all # Microsoft 365 v=spf1 include:spf.protection.outlook.com ~all # Mailchimp + Google Workspace v=spf1 include:_spf.google.com include:servers.mcsv.net ~all # SendGrid v=spf1 include:sendgrid.net ~all
Limitações do SPF
- Limite de 10 consultas DNS — o SPF permite no máximo 10 consultas DNS (cada
include:,a,mxconta). Exceder isso provoca um PermError. - O reencaminhamento quebra o SPF — Quando um e-mail é reencaminhado, o IP do servidor que o reencaminha não está no seu registo SPF, por isso o SPF falha. É por isso que também é necessário o DMARC com DKIM.
- Um registo SPF por domínio — Vários registos SPF provocam um PermError. Junte-os num só.
Perguntas frequentes
Preciso de SPF?
Sim. Sem SPF, qualquer pessoa pode enviar correio que pareça vir do seu domínio. O SPF é a primeira linha de defesa contra a falsificação de correio.
Onde adiciono um registo SPF?
Adicione um registo TXT na raiz do seu domínio (@) através do seu fornecedor de DNS ou registrar. O valor é a cadeia do registo SPF.
Como sei se o meu SPF está a funcionar?
Use the verificador de segurança do correio or the consulta de registos TXT para ver o seu registo SPF actual.
Veja a teoria na prática — execute Verificação de segurança do correio para o seu próprio domínio.