Multiple SPF include mechanism cause permerror

faker asked:

I’m currently using 2 providers to send e-Mails and one host which directly sends e-Mails.
Personal mails are sent via Google and application generated via a bulk e-mail provider.
Both are sent from the same domain (

Google specifies to use this record (“Create SPF records”):
v=spf1 ~all

The other provider specifies:
v=spf1 ?all

I created the following TXT record (ip4 value changed):
v=spf1 ip4: ?all

I have tested this by sending mails via both providers to a Googlemail address and it passes.
However the [email protected] service of reports (again hostnames/IPs changed):

Result:         permerror (multiple SPF records)  
ID(s) verified: [email protected]  
 DNS record(s): SPF (no records) 3600 IN TXT "v=spf1 ip4: ?all" 3600 IN TXT "google-site-verification=$hash$" SPF (no records) 300 IN TXT "v=spf1 ip4: ip4: ip4: ip4: ip4: ip4: ip4: ip4: ip4: ip4: ?all" SPF (no records) 3600 IN TXT "v=spf1 ip4: ~all" 3600 IN TXT "v=spf1 ip4: ~all"  

Is this verifier correct with its conclusion?

My answer:

It’s hard to be sure, since you obscured the relevant details, but it appears that one of your providers has two SPF records in their DNS, which is not allowed.

You can validate your SPF records with the SPF Parser tool.

View the full question and any other answers on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.