Os registros SPF (Sender Policy Framework) têm um limite de 255 caracteres no DNS (Domain Name System). Se você tiver um registro SPF com uma string com mais de 255 caracteres, você não passará na verificação de autenticação do SPF.
Algumas maneiras comuns de otimizar o espaço dos caracteres no registro SPF são:
Excluir mecanismos que resolvam para o mesmo domínio
Exclua quaisquer mecanismos do registro SPF que se resolvam para o mesmo domínio.
Por exemplo: os registros SPF da Empresa ABC se referem tanto ao registro SPF do gmail.com quanto ao do exemplo.com. No entanto, o registro SPF de exemplo.com já possui uma declaração "include" para gmail.com. Assim, a Empresa ABC só precisa de uma declaração de inclusão para exemplo.com.
Evitar mecanismos ptr
Evite usar o mecanismo ptr, pois ele não é mais aceito pela especificação SPF e contará no limite de caracteres.
O mecanismo ptr é um tipo de registro DNS que resolve um endereço IP para um domínio ou nome de host.
Excluir o parceiro de legado e domínios de fornecedores
Você deve excluir todas as declarações "include" que redirecionem a verificação de SPF para um registro SPF de fornecedores ou parceiros que não envie mais e-mails no seu nome. A exclusão delas elimina caracteres desnecessários.
Os remetentes usam declarações para redirecionar a verificação SPF para um registro SPF de um fornecedor ou parceiro cujos IPs mudam com frequência. Usar a declaração "include" de um parceiro ou fornecedor significa que o remetente não precisa atualizar consistentemente os intervalos de IP de alteração em seu próprio registro SPF.
Verificar o intervalo de endereço
Se você tiver muitos mecanismos ip4 e ip6, veja se eles não são redundantes. Por exemplo, exclua todos os mecanismos ip4 ou ip6 que você não use mais e veja se há intervalos de endereços IP que podem ser mesclados.
Veja um exemplo de intervalos de endereços IP que podem ser mesclados usando a notação CIDR:
v=spf1 a mx ip4:192.168.0.0/24 ip4:192.168.1.0/24 -all
ip4:192.168.0.0/24 = 256 endereços IP; 192.168.0.0 - 192.168.0.255
ip4:192.168.1.0/24 = 256 endereços IP; 192.168.1.0 - 192.168.1.255
Veja como o exemplo acima pode ser substituído:
v=spf1 a mx ip4:192.168.0.4/23 -all
ip4:192.168.0.0/23= 512 endereços IP; 192.168.0.0 - 192.168.1.255
Criar um subdomínio SPF específico
Outra maneira eficaz de reduzir o número de caracteres em um registro SPF é criar um subdomínio específico do SPF representado por: _spf.domain.com. O uso de “_spf” como nome do subdomínio pede para o provedor de mailbox tratar o subdomínio como contêiner de armazenamento, que é usado apenas para listar informações adicionais do SPF.
Algumas organizações maiores podem ter de criar vários subdomínios específicos do SPF. Se você precisar criar mais de um subdomínio específico do SPF, use o seguinte formato: _spf, _spf1, _spf2 e assim por diante.
Por exemplo, o Google tem vários endereços IP representados por diferentes netblocks devido ao tamanho da organização. Colocar todas essas informações em um registro SPF para google.com excederia 255 caracteres. Para resolver isso, o Google criou contêineres de armazenamento menores de registros SPF com endereços IP que não excedem 255 caracteres e os combinou usando declarações "include" para permanecer abaixo do limite de 255 caracteres.
Uma lista de netblocks usados pelo Google e seus registros SPF correspondentes é dada a seguir:
-
_netblocks.google.com
v=spf1 ip4:64.18.0.0/20 ip4:64.233.160.0/19 ip4:66.102.0.0/20 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:74.125.0.0/16 ip4:108.177.8.0/21 ip4:173.194.0.0/16 ip4:207.126.144.0/20 ip4:209.85.128.0/17 ip4:216.58.192.0/19 ip4:216.239.32.0/19 ~all
-
_netblocks2.google.com
v=spf1 ip6:2001:4860:4000::/36 ip6:2404:6800:4000::/36 ip6:2607:f8b0:4000::/36 ip6:2800:3f0:4000::/36 ip6:2a00:1450:4000::/36 ip6:2c0f:fb50:4000::/36 ~all
-
_netblocks3.google.com
v=spf1 ip4:172.217.0.0/19 ~all
Para manter o registro SPF de google.com com menos de 255 caracteres, o Google criou um subdomínio SPF específico de _spf.google.com e faz referência a cada netblock usando uma declaração "include" no registro SPF. A declaração "include" instrui um provedor de mailbox a buscar informações adicionais do SPF para o domínio listado.
_spf.google.com
v=spf1 include:_netblocks.google.com include:_netblocks2.google.com include:_netblocks3.google.com ~all
O Google adiciona seu subdomínio SPF específico _spf.google.com com uma declaração "include" para o registro SPF de google.com. O resultado final é um registro SPF simples para google.com que não excede 255 caracteres.
google.com
v=spf1 include:_spf.google.com ~all
Antes de criar um subdomínio SPF específico, use a notação CIDR em intervalos IP para que o tamanho do registro SPF fique abaixo do limite de 255 caracteres.