Porquê validar a sintaxe SPF antes de publicar?
Um registo SPF (Sender Policy Framework) mal formado pode ter consequências imediatas: emails rejeitados, autenticação desativada ou, pior ainda, uma falsa sensação de segurança. A validação sintática deteta estes problemas antes de afetarem a sua entregabilidade.
Três casos de uso principais:
- Novo SPF -> Valide a estrutura antes da primeira publicação
- Modificação SPF -> Verifique que as alterações não introduzem erros
- Diagnóstico de entregabilidade -> Confirme que a sintaxe não causa as rejeições
Como usar o validador em 3 passos
Passo 1: Copiar o registo SPF
Recupere o seu registo de:
- A sua interface DNS (PTisp, Cloudflare, Route 53, etc.)
- Uma ferramenta de lookup DNS
- Diretamente do seu editor de texto se o está a escrever
Formato esperado:
v=spf1 ip4:203.0.113.0/24 include:_spf.google.com -all
Passo 2: Colar no validador
Cole o registo completo no formulário acima. A ferramenta analisa automaticamente:
- ✅ Estrutura base (v=spf1)
- ✅ Mecanismos (ip4, ip6, mx, a, include, exists, ptr)
- ✅ Modificadores (redirect, exp)
- ✅ Qualificadores (+, -, ~, ?)
- ✅ Diretiva final (all)
Passo 3: Corrigir e publicar
O relatório mostra:
- Erros (vermelho): Problemas bloqueantes a corrigir
- Avisos (laranja): Riscos de segurança ou boas práticas
- Informações (azul): Detalhes sobre a estrutura analisada
Corrija os erros e depois publique no seu DNS.
O que é a sintaxe SPF?
Um registo SPF é uma cadeia de caracteres publicada num registo DNS TXT. A sua sintaxe segue uma estrutura precisa definida pela RFC 7208:
v=spf1 [qualificador]mecanismo [modificador] ... diretiva_final
Componentes:
| Elemento | Exemplos | Função |
|---|---|---|
| Versão | v=spf1 | Obrigatório, sempre primeiro |
| Qualificador | +, -, ~, ? | Determina a ação (pass, fail, softfail, neutral) |
| Mecanismo | ip4:, mx, include:, a: | Define os remetentes autorizados |
| Modificador | redirect=, exp= | Opções adicionais |
| Diretiva final | -all, ~all, ?all | Ação padrão para não correspondências |
O que analisa exatamente o validador?
Erros de sintaxe
| Código de erro | Descrição | Impacto |
|---|---|---|
missing_version | Falta v=spf1 | SPF ignorado (permerror) |
unknown_mechanism | Mecanismo não reconhecido | SPF inválido |
mechanism_missing_value | include: sem domínio | SPF inválido |
mechanism_invalid_value | IP ou CIDR mal formado | SPF inválido |
duplicate_modifier | Dois redirect= | SPF inválido |
multiple_all | Múltiplas diretivas all | SPF inválido |
Avisos de segurança
| Código | Descrição | Risco |
|---|---|---|
weak_qualifier | ?all (neutral) | Sem proteção |
permissive_all | +all | Autoriza todos |
softfail_all | ~all sem transição para -all | Proteção parcial |
Limites DNS
| Código | Descrição | Limite RFC |
|---|---|---|
lookup_limit_exceeded | Mais de 10 consultas DNS | 10 máx |
void_lookup_limit_exceeded | Demasiadas respostas vazias | 2 máx |
lookup_cycle | Ciclo de referência | Proibido |
Casos de uso concretos
Caso 1: Novo domínio, primeiro SPF
Situação: Está a configurar o email para captaindns.com com Google Workspace.
Ação: Valide antes de publicar:
v=spf1 include:_spf.google.com -all
Resultado esperado:
- ✅ Sintaxe válida
- ✅ 1 consulta DNS (abaixo do limite de 10)
- ✅ Diretiva final rigorosa (-all)
Caso 2: Adicionar um novo serviço de marketing
Situação: Está a adicionar Mailchimp ao seu SPF existente.
SPF atual:
v=spf1 include:_spf.google.com -all
SPF modificado:
v=spf1 include:_spf.google.com include:servers.mcsv.net -all
Validação: Confirme que a adição não ultrapassa 10 lookups e que a sintaxe continua válida.
Caso 3: "permerror" em produção
Sintoma: Os seus emails falham com SPF permerror.
Diagnóstico: Cole o registo no validador.
Erro detetado:
v=spf1 ip4:192.168.1.1 include: -all
Erro: mechanism_missing_value - include: sem domínio.
Correção:
v=spf1 ip4:192.168.1.1 include:_spf.captaindns.com -all
Caso 4: Demasiadas consultas DNS
Sintoma: O validador mostra lookup_limit_exceeded.
Diagnóstico: O seu SPF tem demasiados includes:
v=spf1 include:_spf.google.com include:spf.protection.outlook.com include:amazonses.com include:_spf.salesforce.com include:sendgrid.net include:mailchimp.com -all
Soluções:
- Substitua alguns includes por ip4/ip6 diretos
- Use um subdomínio dedicado (ex:
marketing.captaindns.com) - Remova os serviços não utilizados
- Use nosso SPF Flattener para resolver automaticamente os includes em IPs
FAQ - Perguntas frequentes
P: O que é um registo SPF?
R: SPF (Sender Policy Framework) é um registo DNS TXT que lista os servidores autorizados a enviar emails pelo seu domínio. Formato: v=spf1 seguido de mecanismos (ip4, mx, include) e uma diretiva final (-all, ~all).
P: Porquê validar a sintaxe SPF antes de publicar?
R: Um registo SPF mal formado gera um erro permanente (permerror) que pode rejeitar todos os seus emails ou desativar completamente a verificação SPF. Validar antes de publicar evita interrupções de serviço.
P: Qual é o limite de consultas DNS para SPF?
R: A RFC 7208 limita a avaliação SPF a 10 consultas DNS. Cada include, a, mx, ptr e exists conta. Ultrapassar este limite gera um permerror e pode falhar a autenticação.
P: O que significa o qualificador -all vs ~all?
R:
-all(hard fail): Rejeita os emails não autorizados~all(soft fail): Marca como suspeitos mas aceita
Comece com ~all em testes, depois mude para -all em produção para máxima proteção.
P: Como corrijo o erro "too many DNS lookups"?
R:
- Substitua includes por
ip4/ip6diretos - Remova mecanismos não utilizados
- Use subdomínios com o seu próprio SPF
- Evite
ptr(obsoleto e dispendioso em consultas)
P: Posso ter vários registos SPF?
R: Não. A RFC exige um único registo SPF por domínio. Vários registos geram um permerror. Funda as suas políticas num único TXT que comece por v=spf1.
P: A ferramenta valida os domínios dos includes?
R: O validador verifica a sintaxe dos domínios referenciados por include e redirect. Para uma análise completa com resolução DNS e contagem recursiva de lookups, use o Inspetor SPF.
Ferramentas complementares
| Ferramenta | Utilidade |
|---|---|
| Inspetor SPF | Analisar um SPF publicado com resolução DNS completa |
| SPF Flattener | Achatar seu SPF para ficar dentro do limite de 10 DNS lookups |
| Inspetor DKIM | Validar a sua assinatura DKIM |
| Inspetor DMARC | Configurar e testar a sua política DMARC |
| Analisador de cabeçalhos email | Diagnosticar SPF/DKIM/DMARC num email recebido |
Recursos úteis
- RFC 7208 - Sender Policy Framework (especificação oficial SPF)
- Google - Configurar SPF (guia Google Workspace)
- Microsoft - SPF para Microsoft 365 (guia Outlook/M365)