This package provides Sender Policy Framework (SPF) check for Go based on RFC 7208.
Still have some issues to fix/add, like exp= modifier etc.
package main
import (
"net""github.com/mileusna/spf"
)
funcmain() {
// optional, set DNS server which will be used by resolver.// Default is Google's 8.8.8.8:53spf.DNSServer="1.1.1.1:53"ip:=net.ParseIP("123.123.123.123")
r:=spf.CheckHost(ip, "domain.com", "name@domain.com", "");
// returns spf check result// "PASS" / "FAIL" / "SOFTFAIL" / "NEUTRAL" / "NONE" / "TEMPERROR" / "PERMERROR"// if you only need to retrive SPF record as string from DNSspfRecord, _:=spf.LookupSPF("domain.com")
}