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
Да, эти сценарии верны.
Однако, вы говорите об ip-адресе "клиента". Обычно это не то, что проверяется, так как электронная почта редко отправляется напрямую от клиента на почтовый сервер получателя. Обычно процесс выглядит так:
sender's computer
-> sender's mail server
-> recipient's mail server (SPF is checked here)
-> recipient's computer
SPF проверяется почтовым сервером получателя, а IP-адрес, используемый при поиске - это IP-адрес текущего соединения. В этом случае это почтовый сервер отправителя.
Другой распространённый сценарий выглядит следующим образом:
sender's computer
-> sender's mail server
-> sender's mail service provider
-> recipient's mail server (SPF is checked here)
-> recipient's computer
В этом случае IP-адрес провайдера почтовых услуг отправителя должен быть разрешён правилом SPF.
И делая этот шаг дальше:
sender's computer
-> sender's mail server
-> sender's mail service provider
-> recipient's anti-spam mail service provider (SPF is checked here)
-> recipient's mail server (SPF must not be checked here)
-> recipient's computer
В этом случае спам-фильтр получателя делает SPF-проверку, потому что он единственный будет получать соединение от провайдера почтовых услуг отправителя. Если почтовый сервер получателя пытается проверить SPF, то он всегда будет неудачным, потому что он всегда будет видеть только IP-адрес сервера антиспама.