Registro SPF na Hostinger, HostGator e Locaweb: passo a passo
Como criar e juntar o registro SPF na Hostinger, na HostGator e na Locaweb sem quebrar o e-mail. Um SPF por domínio, limite de 10 consultas e o erro permerror.
Na prática7 min de leitura
Ver em MarkdownVocê contratou um serviço novo de envio, ele pediu um registro SPF, você criou e, no dia seguinte, o e-mail da hospedagem começou a cair no spam. Ou o contrário: o painel do serviço diz "SPF não verificado" e o registro está lá. Quase sempre o motivo é o mesmo: agora existem dois SPF no domínio, e dois SPF valem o mesmo que nenhum. Este guia mostra como juntar tudo num registro só, em cada painel.
O SPF em 30 segundos#
O SPF é um registro TXT que lista quem pode enviar e-mail pelo seu domínio. Ele começa com v=spf1, tem um ou mais mecanismos (como include:) e termina com um all:
v=spf1 include:_spf.mail.hostinger.com ~allO provedor que recebe a mensagem consulta o SPF do domínio do envelope (o "return path"), não necessariamente o do endereço que aparece no From. A explicação completa, junto com DKIM e DMARC, está em Como configurar SPF, DKIM e DMARC.
Regra 1: um SPF por nome#
A especificação do SPF (RFC 7208, seção 4.5) diz que, se o domínio tiver mais de um registro começando com v=spf1, o resultado é permerror (erro permanente). Na prática, nenhum dos dois vale.
A própria Locaweb deixa isso escrito na ajuda sobre SPF: "Um domínio não pode ter mais de uma entrada TXT com SPF."
Atenção: a regra vale por nome. exemplo.com.br e bounces.exemplo.com.br são nomes diferentes, e cada um pode ter o seu SPF.
Regra 2: no máximo 10 consultas de DNS#
Cada SPF pode fazer no máximo 10 consultas de DNS durante a checagem (RFC 7208, seção 4.6.4). Passou disso, o resultado também é permerror.
| Conta como consulta | Não conta |
|---|---|
include: |
ip4: |
a |
ip6: |
mx |
all |
ptr (evite: a própria RFC desaconselha) |
exp= |
exists: |
|
redirect= |
O que pega muita gente: os includes de dentro dos includes também contam. Veja o SPF que a Hostinger publica para o próprio e-mail:
nslookup -type=TXT _spf.mail.hostinger.com
# "v=spf1 include:relay.mail.hostinger.com include:relay.mailchannels.net ~all"O seu include:_spf.mail.hostinger.com gasta uma consulta, e ele puxa mais duas, que podem puxar outras. Por isso, antes de juntar includes, conte. Para cada include, consulte o TXT dele e some os mecanismos da tabela, descendo até o fim. Ferramentas online de checagem de SPF fazem essa conta sozinhas.
A RFC também limita a 2 consultas vazias (um include que aponta para um nome que não existe ou não tem registro). Include de serviço que você já cancelou é candidato a sair.
Como juntar dois SPF num só#
O jeito certo é um único v=spf1, todos os mecanismos no meio e um único all no fim.
Exemplo 1: e-mail da Hostinger + Google Workspace
v=spf1 include:_spf.mail.hostinger.com ~all
v=spf1 include:_spf.google.com ~allv=spf1 include:_spf.mail.hostinger.com include:_spf.google.com ~allExemplo 2: e-mail da Locaweb + outro serviço que pede include no domínio principal
O SPF padrão da Locaweb, segundo a ajuda dela, é v=spf1 include:_spf.locaweb.com.br -all. Para acrescentar outro serviço, edite esse registro:
v=spf1 include:_spf.locaweb.com.br include:spf.outro-servico.com.br -allRegras de bolso para a junção:
- Um
allsó, no fim. Tudo que vem depois doallé ignorado. ~allou-all, nunca+all. O+allautoriza qualquer servidor do mundo. Se os dois registros tinhamalldiferentes, escolha um; com DMARC publicado,~allé a escolha mais segura enquanto você confere os serviços.- Tire o que não usa mais. Include de serviço antigo gasta consulta e não ajuda em nada.
- Registro longo: um TXT pode ter várias partes de até 255 caracteres; o painel costuma dividir sozinho, e o SPF lê as partes juntas.
Onde fica o editor de DNS em cada painel#
Antes de tudo: o painel certo é o dos servidores de nomes do domínio. Se o domínio aponta para a Cloudflare, por exemplo, editar a zona na hospedagem não muda nada. Confira com dig +short NS exemplo.com.br (ou nslookup -type=NS exemplo.com.br no Windows).
Hostinger (hPanel)#
- No hPanel, abra Domínios e escolha o domínio na lista.
- Entre em DNS / Nameservers, onde fica a zona de DNS (ajuda da Hostinger).
- Procure na lista um TXT com
v=spf1. A Hostinger costuma criar um cominclude:_spf.mail.hostinger.comquando o e-mail dela está ativo (ajuda sobre SPF). - Se existe, edite e acrescente o
includenovo antes do~all. Se não existe, crie: Tipo TXT, Nome@, valor do SPF, TTL padrão. - Salve.
Cuidado com o botão de restaurar os registros padrão do e-mail (em E-mails, nas configurações de DNS do domínio): ele grava os valores padrão da Hostinger. Se você já juntou includes de outros serviços, confira depois se continuam lá.
HostGator (cPanel)#
A ajuda da HostGator mostra dois caminhos:
SPF padrão da HostGator: no cPanel, busque Email Deliverability, clique em Repair no domínio e confirme. O status muda para Valid; a validação pode levar até 4 horas.
SPF com outro serviço:
- No cPanel, busque DNS Zone (o editor de zona) e clique em Gerenciar no domínio.
- Procure um TXT com
v=spf1. Se existe, edite e junte o include novo. - Se não existe, use Adicionar registro: Nome com o domínio (sem
www), TTL 14400, Tipo TXT e, em Registro, o valor do SPF. - Salve.
O Repair do Email Deliverability grava o SPF sugerido pelo cPanel. Se você já tinha includes de outros serviços, confira o registro depois de usar o botão.
Locaweb#
O caminho na ajuda da Locaweb:
- Acesse o produto de hospedagem no painel (quem tem só o registro de domínio segue o link indicado na mesma página).
- Localize o domínio, clique nos três pontos ao lado direito e escolha Zona de DNS.
- Localize o domínio de novo e clique em Administrar.
- Procure o TXT com
v=spf1 include:_spf.locaweb.com.br -all. Edite essa entrada e acrescente o include novo. Se não existir, use Adicionar Entrada e crie o TXT. - Clique em Salvar Configurações. A Locaweb avisa que a propagação pode levar até 48 horas.
permerror: como aparece e como achar#
O permerror não manda aviso. Você só vê o efeito: e-mail no spam ou recusado, e o painel do serviço com "SPF não verificado". Para confirmar:
- Mande um e-mail para uma conta do Gmail, abra a mensagem, clique em Mostrar original e procure
spf=permerror. - Liste os SPF do nome:
dig +short TXT exemplo.com.br | grep spf1Duas linhas com v=spf1: junte. Uma linha só e ainda permerror: conte as consultas ou procure erro de sintaxe (um include sem os dois-pontos, um espaço faltando, um all no meio).
| Sintoma | Causa provável | Correção |
|---|---|---|
spf=permerror e dois v=spf1 no dig |
dois registros | juntar num só |
spf=permerror e um v=spf1 |
mais de 10 consultas ou erro de sintaxe | tirar includes e revisar o texto |
spf=fail |
o servidor que enviou não está na lista | acrescentar o include do serviço |
spf=softfail |
o mesmo, com ~all |
idem |
spf=none |
o domínio do envelope não tem SPF | conferir qual domínio é o envelope |
Com o Couryo, o SPF do domínio principal não muda#
O Couryo não pede include no SPF do seu domínio principal. O envelope de cada e-mail usa um subdomínio seu, bounces.exemplo.com.br, que aponta para o Couryo por CNAME, e é nele que o SPF é conferido e alinhado com o seu domínio. Resultado: o SPF que você já tem (Hostinger, HostGator, Locaweb, Google Workspace) fica como está, sem risco de registro duplicado, e nenhuma das 10 consultas é gasta com o Couryo. O DKIM vai por CNAME (couryo1 e couryo2) e o DMARC começa em p=none; cada registro aparece com status ao vivo na tela do domínio. Veja Domínios e DNS.
Perguntas frequentes#
Posso ter dois registros SPF se um for da hospedagem e outro do serviço de envio?#
Não no mesmo nome. Dois v=spf1 no mesmo domínio geram permerror e nenhum vale. Junte os dois num registro só, com um all no fim. Em nomes diferentes (o domínio e um subdomínio), cada um pode ter o seu.
Uso ~all ou -all?#
Os dois funcionam. O -all pede recusa de quem não está na lista; o ~all pede tratamento como suspeito. Com DMARC publicado, a decisão final é do DMARC, e o ~all é a escolha mais segura enquanto você ainda confere todos os serviços que enviam pelo domínio.
Quanto tempo o SPF leva para valer?#
Depende do TTL e do painel. A HostGator fala em até 4 horas para validar o SPF padrão; a Locaweb, em até 48 horas de propagação. Se depois de um dia o dig não mostra o registro novo, confira se você editou o painel dos servidores de nomes do domínio.
Como sei quantas consultas o meu SPF faz?#
Some os include, a, mx, ptr, exists e redirect do seu registro e de cada include, descendo até o fim. Ferramentas online de checagem de SPF fazem a conta. Passou de 10, tire includes de serviços que você não usa mais.
Mudei de hospedagem. Preciso trocar o SPF?#
Se o e-mail da empresa mudou junto, sim: tire o include da hospedagem antiga e ponha o da nova. Se o e-mail continua no mesmo lugar, o SPF continua igual, mas confira se a hospedagem nova não criou um segundo SPF ao assumir a zona de DNS.