Что такое SPF Include?
Механизм SPF Include содержит ссылки или условия внутри SPF-записи, которые должны быть выполнены для каждого конкретного сервера, чтобы улучшить доставляемость электронной почты. Если вы случайно не добавите в запись SPF утверждения Include для ваших сторонних поставщиков, это может привести к проблемам для ваших получателей, например, к отклонению писем, и ваш общий показатель отказов может резко возрасти.
Узнайте, что представляет собой механизм "Include" в SPF-записях и как можно оптимизировать заявления SPF Include для ваших нужд.
Что такое SPF Include?
В вашем Синтаксис записи SPFмеханизм "include" указывает записи, чтобы передать вашему почтовому серверу для проверки те записи, которые соответствуют домену, указанному в строке "include".
"include" указывает на домен, SPF-записи которого будут запрашиваться при проверке того, разрешен или нет IP-адрес отправителя. Если IP-адрес отправителя включен в список "include", определенный SPF, то это приведет к совпадению и SPF пройдет.
Включение SPF важно, потому что:
➜ Он указывает, что вы хотите быть защищены SPF-записями для любого домена, перечисленного в вашем блоке "include".
➜ Добавляет правила, специфичные для домена.
➜ Вы можете использовать механизм SPF Include для дальнейшего включения общих правил фильтрации, которые применяются ко всем доменам в пределах одного класса. Это означает, что если ваше приложение поддерживает несколько классов почтовых адресов, вы можете использовать утверждения include для более сложной фильтрации на основе класса адреса получателя.
Например:
Если в вашей SPF-записи указано "include:_spf.google.com", а электронная почта отправляется с IP-адреса Google, она будет считаться авторизованным отправителем электронной почты, поскольку IP-адрес отправителя находится в механизме "include" SPF-записи этого домена. В результате этого электронное письмо успешно пройдет через сервер и достигнет адресата.
Более одной SPF-записи не разрешено: Но почему?
Несколько записей SPF не допускается.
Записи SPF - это записи типа TXT, начинающиеся со строки v=spf1. Они сообщают почтовым серверам, каким правилам они должны следовать при определении того, является ли данное письмо спамом. Правила включают в себя:
- Принимающий почтовый сервер должен убедиться, что домен отправителя является авторизованным получателем этого сообщения. Если это правило выполняется, он принимает сообщение и доставляет его пользователю.
- Принимающий почтовый сервер должен проверить, что IP-адрес отправляющего домена соответствует авторизованному IP-адресу для этого домена и что IP-адрес принадлежит авторизованному отправителю. Если эти условия выполнены, сообщение будет доставлено пользователю.
Поэтому, если на вашем сервере есть две отдельные записи SPF TXT, ваша электронная почта не пройдет проверку подлинности SPF и выдаст ошибку PermError. Это происходит потому, что принимающий почтовый сервер не знает, какому правилу следовать - он просто проигнорирует обе эти TXT-записи.
SPF Include Multiple Domains or Hosts or IP Addresses: Инструкции по применению
Если вы хотите включить более одной SPF-записи, вы можете столкнуться с проблемами доставки электронной почты (например, письма будут отклоняться как спам). В этом случае необходимо удалить все записи SPF и объединить записи доменов или хостов в одну запись или строку с помощью SPF include.
Рассмотрим пример SPF-записи с многочисленными хостами и ip4-адресами, используемой одним из известных в мире производителей бытовой электроники, Lenovo.com.
При выполнении SPF Record Lookup для Lenovo.com, мы обнаружили, что он объединил 4 домена:
- spf.messagelabs.com
- _netblocks.eloqua.com
- spf.protection.outlook.com
- spf.pfpool.lenovo.com
и 5 адресов IP4:
- 72.32.45.225
- 40.65.201.146
- 138.108.60.125
- 138.108.24.107
- 52.247.21.11
в одну запись следующим образом:
v=spf1 include:spf.messagelabs.com include:_netblocks.eloqua.com include:spf.protection.outlook.com include:spf.pfpool.lenovo.com ip4:72.32.45.225 ip4:40.65.201.146 ip4:138.108.60.125 ip4:138.108.24.107 ip4:52.247.21.11 ~all
Понимание семантики записи SPF
Рассматривая приведенный выше пример, мы узнали, что при объединении множества хостов или IP4-адресов в одну SPF-запись действует следующее правило.
Чтобы запись SPF считалась действительной, она должна содержать 3 раздела: объявление (начало), механизм include для доменов и тег IP4 для IP-адресов (центр) и правило применения (конец).
➜ Декларация: Запись должна начинаться с v=spf1 (не используйте эту строку снова в правиле)
➜ Разрешенные домены: Добавить include: для каждого домена (вы должны использовать механизм SPF Include, поскольку include: с каждым доменом вы добавляете в SPF-запись)
➜ Разрешенные IP-адреса: Добавить IP4 тег для каждого IP-адреса (вы должны использовать тег IP4 перед каждым IP-адресом, который вы добавляете в запись SPF)
➜ Правило исполнения: Заканчивайте запись одним ~все (используйте эту строку в конце и только один раз)
Важное замечание по поводу включения SPF
Важно включить механизм "include" в запись SPF, поскольку он позволяет включать другие домены и хосты в запись SPF, что может быть полезно для проверки подлинности ваших сообщений.
Однако, следующее правило применяется к использованию количества просмотров на запись SPF (как указано в разделе 10.1 документа RFC 4408):
"Реализации SPF ДОЛЖНЫ ограничить количество механизмов и модификаторов не более чем 10 на одну проверку SPF, включая любые поиски, вызванные использованием механизма "include" или модификатора "redirect"".
Если ваша реализация SPF не ограничивает количество механизмов и модификаторов, она будет спать на проверках недостижимых хостов. Поскольку эти узлы никогда не будут включены в ваши проверки, они никогда не получат почту от клиентов. Это может привести к серьезным проблемам с доставкой почты.
Разница между SPF включает: и a:
a: Проверьте IP-адрес на соответствие записи A для вашего домена.
включают: Проверить всю запись SPF для домена, оценить IP по ней, и если будет найдено PASS, то это будет возвращено как результат всего теста.
Причины для использования:
- Это более практично и менее сложно
- Потому что вы не включили SPF на соответствующих доменах.
- Потому что SPF настроен неправильно или он ошибочно разрешает другие серверы, которых нет в его A-записях.
Причины для использования включают:
- Вы доверяете, что доменное имя сайта имеет действительную запись SPF
- Потому что вы хотите иметь единый источник истины по причинам "не повторяйся сам", а домен SPF является сложным.
- Вы можете захотеть внести изменения в свои SPF-записи без необходимости редактировать DNS для всех доменов, включающих ваш.
Автоматизированная оптимизация SPF Include: для нескольких доменов и IP-адресов
SPF-запись для нескольких хостов и IP-адресов - это не новая вещь. Но то, как нужно создавать такую запись, требует соответствующего опыта, чтобы избежать Сбой аутентификации SPF или PermError.