Я использую james-jspf библиотеку. Используя приведенный ниже код, я пытаюсь проверить, разрешен ли IP-адрес в почте для отправки почты для этого домена для локального сервера обмена.
DefaultSPF spf = new DefaultSPF();
SPFResult res = null;
if(args.length == 0)
res = spf.checkSPF("ip_here", "mail-sender@domain.com", "domain.com");
else
res = spf.checkSPF(args[0], args[1], args[2]);
//ex16.psilanex16.com
if (res.getResult().equals(SPF1Constants.PASS)) {
System.out.println("PASS");
} else if (res.getResult().equals(SPF1Constants.NEUTRAL)) {
System.out.println("NEUT");
} else {
System.out.println(res.getResult());
System.out.println(res.getExplanation());
System.out.println(res.getHeader());
System.out.println(res.getHeaderText());
}
У меня есть запись spf, добавленная как spf1 a mx ip4: ip-here -all Иногда я получаю результат: domain of domain.com обозначает ip-here- как разрешенного отправителя , а иногда ничего ip-here- не разрешен и не запрещен доменом domain.com