Temos um site que envia emails de vez em quando, mas não estamos a usar SMTP. É preciso implementar algumas verificações de autenticidade para evitar cair no SPAM. Para além do SPF, é importante criar um registo PTR (pointer) se possível.
Tive alguns utilizadores que não estavam a receber emails porque, devido a uma migração recente de serviços, faltava ainda criar o registo PTR. Alguns serviços de email rejeitam à partida emails enviados a partir de IPs sem reverse DNS lookup. Nem chega ao SPAM.
O PTR é o oposto do registo A. Enquanto que um registo A aponta um nome para um IP, o registo PTR permite resolver um nome a partir de um IP. Claro que para isto funcionar o IP deve ser dedicado e não partilhado, porque ele irá resolver para um único nome.
Depois de ter pedido ao novo fornecedor de serviço para criar o registo PTR, quis verificar quando estaria disponível.
Para fazer qualquer verificação de DNS, costumo usar o dig. É simples o suficiente verificar um registo A, ou um TXT:
$ dig heldercorreia.com
$ dig heldercorreia.com TXT
Mas fazer um reverse DNS lookup, ou seja, procurar o nome com base no IP tem uma particularidade. É preciso representar o IP com a ordem dos octetos trocados, no domínio especial in-addr.arpa.
# Exemplo com o ip 178.62.13.218
$ dig 218.13.62.178.in-addr.arpa PTR +short
sirius.siriux.org.
É útil saber isto no uso de outras ferramentas, porque o dig tem um atalho:
$ dig -x 178.62.13.218 +short
sirius.siriux.org.
Se não retornar nada é porque não existe.