
Eu gerencio um pequeno servidor web e tive alguns problemas para configurar corretamente o SPF/DMARC para o domínio. Estou tentando descobrir por que a validação SPF às vezes passa e às vezes falha. Isso ocorre ao usar o mesmo validador e quando nenhuma alteração foi feita no registro. É quase como se ele estivesse lendo registros diferentes de fontes diferentes em algumas tentativas.
Neste exemplo, estou usando dmarcian.com como validador SPF.
Se eu for ao site e usar Ferramentas -> Verificador de Domínio, às vezes aparece "Seu domínio tem um registro SPF válido e a política é suficientemente rigorosa". Se eu clicar em "Verificar domínio" várias vezes (sem chance de erro ortográfico), às vezes aparece "Seu domínio não possui um registro SPF". Por que eu obteria dois resultados diferentes na mesma verificação quando nada mudou?
O provedor é Arvixe (mudando em breve). O servidor web é Windows VPS e o servidor web não é o servidor de e-mail. Pagamos por um serviço separado de e-mail em massa, embora não enviemos muito.
Estou usando o WebsitePanel para editar os registros DNS. Registros SPF não são suportados, então estou usando um registro TXT. Se parece com isso:
Nome: _spf Tipo: TXT Dados: v=spf1 +a +mx +ip4:207.210.200.162 +ip4:143.95.68.96 ~all
Domínio: theiaicertification.org IPs: 108.167.130.38/108.167.130.39 Servidor de correio: 207.210.200.162/143.95.68.96
Responder1
Sua zona DNS está hospedada em dois servidores DNS, o que não é um número excessivo de servidores DNS para hospedar seu domínio. Ambos os servidores DNS sofrem com a falta de IPv6, o que pode se tornar um problema no futuro.
Ambos os servidores DNS autoritativos fornecem a mesma resposta quando solicitados registros TXT para o domínio, então isso também não é um problema. A resposta exata que vejo é esta:
theiaicertification.org. 86400 IN TXT "v=spf1 +a +mx +ip4:207.210.200.162 +ip4:143.95.68.96 ~all"
Há algumas coisas que quero destacar aqui.
O uso de a
e/ou mx
pode ser problemático para um servidor de e-mail somente IPv4. Isso ocorre porque você não tem controle sobre quais endereços IP precisarão ser validados em seu registro SPF, portanto, seu registro SPF deve ser compatível com os padrões para validação de endereços IPv4 e IPv6. Há um limite para quantas pesquisas de DNS sem resposta são permitidas durante a validação de um registro SPF. No entanto, no seu caso, você evitou por pouco essa armadilha.
Prefixar cada entrada com +
não é como os registros SPF são comumente escritos, mas parece funcionar.
Testei que é possível validar endereços IP em seus registros SPF usando a implementação Python de validação spf:
>>> import spf
>>> spf.query('192.0.2.1', '[email protected]', '').check()
('softfail', 250, 'domain owner discourages use of this host')
>>> spf.query('2001:db8::1', '[email protected]', '').check()
('softfail', 250, 'domain owner discourages use of this host')
>>>
Nada disso explicaria por que você vê resultados diferentes. Uma possível explicação para resultados diferentes é o cache. O TTL no seu registro TXT é de 86.400 segundos, ou seja, 24 horas. Se você o alterou recentemente e o TTL também foi 24 horas antes, pode levar 24 horas para que a alteração entre em vigor em todos os lugares.
Suponho que o serviço que você está usando para validar seus registros SPF tenha mais de um resolvedor recursivo e pelo menos um deles armazenou em cache uma versão mais antiga do seu registro TXT.