O SPF funciona como uma lista de
convidados. Quando um servidor receptor recebe uma mensagem do seu domínio, consulta o
DNS e verifica se o
endereço IP do remetente está
autorizado pelo registro TXT
v=spf1.
Servidores não listados têm o e-mail marcado como suspeito ou rejeitado, dependendo
do qualificador final configurado.
O SPF verifica tecnicamente o Envelope From — o endereço usado internamente no protocolo SMTP — e não o Header From visível para o destinatário. Essa distinção é importante ao configurar o alinhamento no DMARC.
Mecanismos e lookups DNS
Cada mecanismo como
include:,
mx e
a
consome um lookup DNS.
O RFC 7208 limita a 10 lookups
por avaliação de SPF. Ultrapassar esse limite resulta em
permerror,
o que faz com que o SPF falhe definitivamente e e-mails legítimos possam ser rejeitados.
Mecanismos como ip4:
e ip6:
não consomem lookups e devem ser preferidos quando possível, pois listam endereços
IP diretamente.
Softfail vs. Hardfail: qual usar?
O registro termina com um qualificador
all
que define o comportamento para servidores não listados:
O hardfail
(-all)
instrui servidores receptores a rejeitar e-mails de remetentes não autorizados.
É a política mais segura e recomendada para domínios com todas as fontes de envio
devidamente mapeadas.
O softfail
(~all)
aceita os e-mails, mas os marca como suspeitos. É útil durante migrações ou quando
ainda há incerteza sobre todos os servidores que enviam e-mail pelo domínio.
Evite +all,
que autoriza qualquer servidor — tornando o SPF inútil.
Relays de terceiros e serviços de marketing
Ferramentas de marketing, ERPs e plataformas de automação frequentemente enviam e-mail em nome do seu domínio via um relay próprio. Para que o SPF reconheça esses e-mails como legítimos, inclua o domínio do serviço:
v=spf1 mx include:_spf.google.com include:servers.mcsv.net ~all
Cada include:
adicional consome um lookup. Se o total ultrapassar 10, use ferramentas de
"flattening" de SPF para substituir os includes por listas de
IPs diretos, reduzindo o número
de lookups.