Se você ainda não encontrou o www.openspf.org, é um ótimo recurso. Preste atenção no tópico ID do SPF vs. Confira o link para baixo e sujo.
Se você estiver hospedando seu próprio servidor de e-mail e seus registros MX forem os únicos servidores de envio, você poderá usar apenas o mecanismo "mx".
Se você estiver usando um serviço hospedado para seu e-mail (Google Apps, por exemplo) ou mesmo encaminhando e-mails enviados de seu servidor SMTP interno para um serviço como o SendGrid, verifique com esses serviços instruções de configuração específicas do SPF.
Editado para adicionar melhores descrições de SPF, mecanismos e qualificadores
Quando uma troca de mensagens que suporta o uso de SPF recebe um email, ele examina o domínio pretendido do remetente ([email protected]) e o endereço IP do servidor que enviou a mensagem. A questão é: esse endereço IP tem permissão para enviar e-mail em nome do domínio do remetente (sendingdomain.tld)?
Para responder a essa pergunta, o servidor recupera o registro SPF (armazenado como um registro TXT do DNS) do domínio pretendido (sendingdomain.tld) e verifica o endereço IP dos servidores de envio em relação ao registro SPF.
O SPF usa mecanismos para criar listas de servidores de envio válidos para email. Cada mecanismo pode ser qualificado com um +, -, ~ ou? prefixo (esta informação foi retirada de OpenSPF :
'+' significa passar (ou válido) - Observação: esta é a ação padrão
'-' significa falhar (ou inválido)
'~' significa falha temporária (tratada por muitos servidores como neutra)
'? significa neutro (a validade não é confirmada nem negada)
Quando um registro está sendo avaliado, ele corresponde ao primeiro mecanismo da esquerda para a direita. Se nenhum mecanismo corresponder, o resultado padrão será neutro .
Em geral, o mecanismo "Tudo" corresponde a tudo, então ...
O mecanismo '+ All' significa que todos os servidores são remetentes válidos para esse domínio (não use essa opção).
O mecanismo "Tudo" falha em todos os servidores de envio. Use isso no final de um registro SPF para substituir o resultado padrão neutral por um resultado fail . Alguns serviços (como o Google) alertam sobre isso, mas ainda não corri para nenhum problema com ele.
Os mecanismos '~ All' e '? All' são equivalentes a dizer: “se o servidor de envio não corresponder a nenhum dos servidores válidos listados, não se preocupe com isso.” Use-o para testar registros SPF somente.
Para uma lista completa de mecanismos, consulte a página Sintaxe de Registro do OpenSPF .
O outro mecanismo que gostaria de discutir aqui é "incluir: < domínio > ’. Esse mecanismo direciona um servidor analisando um registro SPF para incluir mecanismos adicionais especificados em outro registro SPF hospedado por < domínio >.
Exemplos:
Se o seu domínio usa os mesmos servidores (como no mesmo endereço IP) para envio e recebimento:
- v = spf1 mx - todos
- O acima é equivalente a, v = spf1 + mx –all
Se você usa o Google Apps para hospedar e-mails, às vezes usa um servidor SMTP interno para mensagens automáticas:
- v = spf1 ip: < endereço IP do servidor interno > incluem: _spf.google.com -all
DKIM é uma fera diferente. Se você estiver usando um serviço de e-mail hospedado, consulte o serviço para obter instruções. Se você hospeda sua própria troca de mensagens, verifique com a documentação do software do servidor para descobrir como implementá-la. É um pouco além do escopo desta pergunta.