**SPF** – //Sender Policy Framework (структура политики отправителя).// SPF позволяет владельцу домена указать в TXT-записи домена специальным образом сформированную строку, указывающую список серверов, имеющих право отправлять email-сообщения с обратными адресами в этом домене. Рассмотрим простой пример SPF-записи. example.org. IN TXT "v=spf1 +a +mx -all" * **Допустимые опции:** **v=spf1** - //используемая версия SPF.// **+** - //принимать корреспонденцию (Pass). Этот параметр установлен по умолчанию. То есть, если никаких параметров не установлено, то это "Pass";// **-** - //Отклонить (Fail);// **~** - //"мягкое" отклонение (SoftFail). Письмо будет принято, но будет помечено как СПАМ;// **?** - //нейтральное отношение;// **mx** - //включает в себя все адреса серверов, указанные в MX-записях домена;// **ip4** - //опция позволяет указать конкретный IP-адрес или сеть адресов;// **a** - //указываем поведение в случае получения письма от конкретного домена;// **include** - //включает в себя хосты, разрешенные SPF-записью указанного домена;// **all** - //все остальные сервера, не перечисленные в SPF-записи.// **ptr** - //проверяет PTR-запись IP-адреса отправителя. Если она сходится с указаным доменом, то механизм проверки выдает положительный результат. То есть, разрешено отправлять всем IP-адресам, PTR-запись которых направлены на указанный домен. Серьезным недостатком даного метода есть то, что генерируется очень большое количество DNS-запросов;// **exists** - //выполняется проверка, резолвится ли домен на какой-либо IP-адрес. То есть, по существу, выполняется проверка работоспособности доменного имени. Кстати, не имеет значения, на какой IP-адрес резолвится домен, даже если это "серые" сети (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) или loopback (127.0.0.1).// __Пример использования:__ example.org. IN TXT "v=spf1 ptr:example.org exist:example.org -all" **redirect** - //указывает получателю, что нужно проверять SPF-запись указанного домена, вместо текущего.// __Пример использования:__ example.org. IN TXT "v=spf1 redirect:example.com ~all" //В данном примере будет проводится проверка SPF-записи домена example.com, а не example.org.// ---- **Итак, попробуем разобраться, что же значит SPF-запись, указанная выше.** "**+a**" - //разрешает прием писем от узла, IP-адрес которого совпадает с IP-адресом в A-записи для example.org;// "**+mx**" - //разрешает прием писем, если отправляющий хост указан в одной из MX-записей для example.org;// "**-all**" - //все сообщения, не прошедшие верификацию с использованием перечисленных механизмов, следует отвергать.// ---- Для лучшего понимания того, как работает SPF, рассмотрим еще один, более сложный пример. example.org. IN TXT "v=spf1 mx ip4:195.3.159.250 +a:smtp.mail.ru include:gmail.com ~all" Подробно о используемых опциях: "**mx**" - //принимать письма от серверов, указанных в MX-записях;// "**ip4:195.3.159.250**" - //принимать письма, отправленные с IP-адреса 195.3.159.250;// "**+a:smtp.mail.ru**" - //то же, что и a:smtp.mail.ru. Принимать от smtp.mail.ru;// "**include:gmail.com**" - //принимать письма с серверов, разрешенных SPF-записями gmail.com;// "**~all**" - //принимать письма со всех остальных серверов, но помечать их как СПАМ.// ---- Рассмотрим еще более "экзотичный" пример: example.org. IN TXT "v=spf1 mx/24 a:muff.kiev.ua/24 -all" "**mx/24**" - //в список разрешенных отправителей входят все IP-адреса, находящихся в тех же сетях класса С, что и MX-ы домена;// "**a:muff.kiev.ua/24**" - //в список разрешенных отправителей входят все IP-адреса, находящихся в тех же сетях класса С, что и А-записи домена muff.kiev.ua;// "**-all**" - в//сех остальных отправителей - блокируем.// ---- [[https://my.activecloud.com/ru/index.php?/DefaultRU/Knowledgebase/Article/View/362/6/spf-zpis|Источник]]