Some domains,such as lenovo.com has 19 TXT records, dhl.com has 16 TXT records. For such domain,even the SPF is only one,but with some DNS query,it may have errors,or only return 4-6 txt records,which the SPF is not at the query result. In that case,the spf result will be missing spf.
For example:
nslookup -qt=txt dhl.com 180.76.76.76---->ERROR
nslookup -qt=txt dhl.com 114.114.114.114---->RETURN 4-6 RECORD WITHOUT THE SPF ONE
nslookup -qt=txt dhl.com 223.5.5.5---->ERROR
nslookup -qt=txt dhl.com 223.6.6.6---->ERROR
nslookup -qt=txt dhl.com 119.29.29.29---->RETURN 4-6 RECORD WITHOUT THE SPF ONE
nslookup -qt=txt dhl.com 1.2.4.8---->SOMETIME WORKS,SOMETIMES NOT
nslookup -qt=txt dhl.com 202.96.134.33---->ERROR
All above China DNS resturn error or only return 4-6 records back. Hope there will be a function having a config file at the config folder,such as spfrecord.dat,you can add some spf such as below format:
lenovo.com|v=spf1 include:spf.messagelabs.com include:_netblocks.eloqua.com include:spf.protection.outlook.com ip4:72.32.45.225 ~all
dhl.com|v=spf1 include:dpdhl._spf.dhl.com include:3a._spf.dhl.com include:3b._spf.dhl.com include:3c._spf.dhl.com include:3d._spf.dhl.com include:3e._spf.dhl.com include:3f._spf.dhl.com include:mrsc._spf.dhl.com include:e2ma.net include:spf.mandrillapp.com ~all
It is just like SPF cache,i think it will be useful for such case.