Pular para o conteúdo
couryo

Blog

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 Markdown

Você 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:

TXT em exemplo.com.br
v=spf1 include:_spf.mail.hostinger.com ~all

O 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:

Terminal
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

Antes (dois registros: errado)
v=spf1 include:_spf.mail.hostinger.com ~all
v=spf1 include:_spf.google.com ~all
Depois (um registro: certo)
v=spf1 include:_spf.mail.hostinger.com include:_spf.google.com ~all

Exemplo 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:

Um registro só
v=spf1 include:_spf.locaweb.com.br include:spf.outro-servico.com.br -all

Regras de bolso para a junção:

  • Um all só, no fim. Tudo que vem depois do all é ignorado.
  • ~all ou -all, nunca +all. O +all autoriza qualquer servidor do mundo. Se os dois registros tinham all diferentes, 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)#

  1. No hPanel, abra Domínios e escolha o domínio na lista.
  2. Entre em DNS / Nameservers, onde fica a zona de DNS (ajuda da Hostinger).
  3. Procure na lista um TXT com v=spf1. A Hostinger costuma criar um com include:_spf.mail.hostinger.com quando o e-mail dela está ativo (ajuda sobre SPF).
  4. Se existe, edite e acrescente o include novo antes do ~all. Se não existe, crie: Tipo TXT, Nome @, valor do SPF, TTL padrão.
  5. 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:

  1. No cPanel, busque DNS Zone (o editor de zona) e clique em Gerenciar no domínio.
  2. Procure um TXT com v=spf1. Se existe, edite e junte o include novo.
  3. 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.
  4. 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:

  1. Acesse o produto de hospedagem no painel (quem tem só o registro de domínio segue o link indicado na mesma página).
  2. Localize o domínio, clique nos três pontos ao lado direito e escolha Zona de DNS.
  3. Localize o domínio de novo e clique em Administrar.
  4. 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.
  5. 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:

  1. Mande um e-mail para uma conta do Gmail, abra a mensagem, clique em Mostrar original e procure spf=permerror.
  2. Liste os SPF do nome:
Terminal
dig +short TXT exemplo.com.br | grep spf1

Duas 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.