Solve SPF issues

wikipedia.org:
https://en.wikipedia.org/wiki/Sender_Policy_Framework (SPF)
https://en.wikipedia.org/wiki/Sender_Rewriting_Scheme (SRS)

Analyze SPF:
– DNS lookups and void lookupshttps://mxtoolbox.com/spf.aspx
– DNS lookups and syntax check of external SPF’s: https://tools.sparkpost.com/spf/inspector
– Less good (misses double ‘v=’, code after ‘all’ and count of a/mx lookups): https://internet.nl

My number of DNS lookups with SPF:
– 0x: v=spf1 include:amazonses.com -all (no SRS)
– 0x: v=spf1 include:_spf.cyberfusion.nl -all (generic SRS; customers of Cyberfusion)
– 2x: v=spf1 include:outgoing.spamport.com -all (SRS; no lookup if using IP netblocks)
– 1x: v=spf1 include:relay.mailchannels.net -all (generic by use of SRS)
– 0x: v=spf1 include:spf.sendinblue.com -all (both transactional and non-transactional mail)
– 4x: v=spf1 include:_spf.sparkpostmail.com -all (no SRS; ptr void lookups ensure pass)
– 2x: v=spf1 include:_spf.transip.email -all (no SRS; for VPS customers of TransIP)

Check knowledge of SPF setup:
– above 10 lookups must show “permerror” (following RFC guidelines)
– more than one SPF record disrupts
– ‘a’, ‘mx’, ‘redirect’ and ‘include’, in the end authorize for IPs
– (use of a domain name is not more secure; other shared host users are included)
– setup of ‘a’ is interpreted as ‘+a’
– sequence of setup: reads from left to right
– watch out for double spaces
– make a difference to a domain name: an undercore is not allowed in a domain name

Example of SPF:
https://tools.sparkpost.com/spf/inspector/dogshowentry.nl
– outbound via MTA via Exim or Postfix configuration to Cyberfusion mail service
– outbound via SMTP (or via SDK via HTTP) to Amazon SES
– bounces on incoming of the server
– bounces on incoming of the fallback mail server
– 4x: v=spf1 include:_spf.hostfusion.nl include:amazonses.com -all

Explanation of failures: https://www.sparkpost.com/email-tools/spf-and-dkim-errors
Syntax of SPF: http://www.openspf.org/SPF_Record_Syntax
How DNS lookup counts (and about void lookups): https://tools.ietf.org/html/rfc7208#section-4.6.4