I'm using this reference page... http://www.openspf.org/SPF_Record_Syntax
...but I don't know if I'm interpreting the syntax correctly.
Are the following scenarios correct?
"v=spf1 a -all"
a = check DNS A records of the client
- = fail
all = always match
Scenario 1
- Email is sent by someone@bank.gov from client 203.0.113.0
- A record for bank.gov is 203.0.113.0
- SPF check the A record for the bank.gov, gets a match with client IP and A record, the check passes
Scenario 2
- Email is sent by spammer@bank.gov from client 192.0.2.0
- A record for bank.gov is 203.0.113.0
- SPF check the A record for the bank.gov, client IP and A record DO NOT match, the check fails
Scenario 3
- Email is sent by person@home.net from client 192.88.99.0
- There are no DNS records for 192.88.99.0
- SPF check for an A record for home.net, a match on A record cannot be performed, 'a' mechanism does not, deny all applies, the check fails
ain the SPF record, your domain must have bothAandAAAArecords. Whether the record being looked up isAorAAAAdepends on the IP address used by the sender, which is outside of your control. Hence you need both in order for your SPF record to be valid. – kasperd Oct 24 '18 at 20:41