Sender Policy Framework, или SPF, - это протокол аутентификации электронной почты, который позволяет владельцам доменов указывать серверы, которым разрешено отправлять электронную почту от имени их доменов.
Когда электронное письмо отправляется с вашего домена, принимающие почтовые серверы проверяют ваш DNS на наличие записи SPF. Эта запись содержит список всех IP-адресов, которые имеют право отправлять электронную почту с вашего домена. Если IP-адрес отправителя совпадает с одним из адресов в записи SPF, электронное письмо проходит проверку подлинности.
Запись SPF имеет решающее значение для внедрения SPF на вашем домене. Она публикуется в виде TXT-записи в DNS и может быть изменена в соответствии со спецификой вашего домена. Вот пример записи SPF:
v=spf1 a mx ip4: 39.72.122.191 include:_spf.google.com ~all
Давайте разберем каждый элемент в этой записи, чтобы знать, что все делает.
Версия
Запись SPF всегда начинается с 'v=', что указывает на используемую версию SPF. spf1 это наиболее часто используемая версия SPF, которую понимают все почтовые клиенты.
Механизм
Механизмы - это элементы записи SPF, которые направляют принимающий сервер на проверку определенных записей в DNS или использование определенных протоколов при выполнении SPF-аутентификации.
a - Проверяются все записи A домена, для которого опубликована запись SPF. Если IP-адрес отправителя совпадает с IP-адресом в записи A, механизм работает.
ip4 - Указывает диапазон сети IPv4 для IP-адреса отправителя.
ip6 - Указывает диапазон сети IPv6 для IP-адреса отправителя.
mx - Записи MX указывают, какие серверы должны использоваться для ретрансляции электронной почты. Если IP-адрес отправителя совпадает с одной из MX-записей домена, для которого опубликована запись SPF, этот механизм проходит.
ptr - Имя хоста для IP-адреса отправителя ищется с помощью PTR-запросов. Если имя хоста заканчивается на домен, совпадающий с тем, для которого опубликована запись SPF, этот механизм работает. PTR-запросов следует избегать, насколько это возможно, чтобы ограничить количество дорогостоящих DNS-поисков.
exists - Выполняет и A-запрос на указанном домене. Если результат найден, механизм проходит.
включить - Выполняется поиск совпадения указанного домена. Если у домена нет собственной действительной SPF-записи, это приводит к постоянной ошибке.
все - Этот механизм всегда совпадает. Он используется с классификатором чтобы включить все IP, с которыми не совпадают другие механизмы. Обычно он добавляется в конце записи SPF.
Отборочный тур
"+" - Пропустить. Запись SPF обозначает IP-адрес, которому разрешено отправлять.
"-" - Отказ. Запись SPF обозначает IP-адрес, которому НЕ разрешено отправлять.
"~" - SoftFail. Запись SPF обозначает, что IP-адрес НЕ разрешен для отправки, но находится в процессе перехода.
"?" - Нейтральный. Запись SPF обозначает, что ничего нельзя сказать о достоверности IP-адреса.
Механизмы по умолчанию установлены на Pass.
В приведенном выше примере использование 'a' и 'mx' эквивалентно '+a' и '+mx'. Однако, '~all' говорит нам, что все IP-адреса, которые не совпадают с 'a' и 'mx' должны рассматриваться как SoftFail согласно SPF.
Модификатор
Модификаторы являются необязательными и могут быть использованы только один раз в одной записи.
перенаправление - Используется для указания на SPF-запись другого домена. Это нужно, когда у вас несколько доменов, но вы хотите использовать одни и те же данные SPF-записи на всех из них. Второй домен должен иметь свою собственную действительную SPF-запись. перенаправить используется только в том случае, если вы контролируете оба домена, в противном случае включить используется.
exp - Если принимающий сервер отклоняет сообщение, он может предоставить объяснение.
Ограничения SPF-записей
Для того чтобы снизить нагрузку на принимающие почтовые серверы, записи SPF имеют определенные встроенные ограничения, которые вы должны соблюдать.
Только 1 запись SPF для каждого доменного имени - Чтобы правильно реализовать SPF, вы можете опубликовать в DNS только одну запись SPF для каждого домена. Если их несколько, принимающий сервер не знает, какую из них проверять, и ваша электронная почта не пройдет проверку подлинности SPF.
Не более 10 DNS-поисков - Ваша запись SPF не может содержать более 10 механизмов, которые приводят к поиску DNS.
Максимум 10 записей MX - При анализе mx механизма, существует ограничение в 10 записей MX, которые может запросить сервер.
Максимум 10 PTR-запросов - При анализе ptr механизма, сервер не может выполнить более 10 PTR-запросов.
PowerSPF
Когда вы превышаете 10 DNS-поисков в вашей SPF-записи, ваша SPF-аутентификация автоматически терпит неудачу. Чтобы исправить это, PowerDMARC разработал инновационную функцию: PowerSPF. Всего одним щелчком мыши вы можете оптимизировать и сократить длину и количество DNS-поисков в вашей SPF-записи. Вы можете получить максимальную доставляемость практически без усилий.