IVA ДОКУМЕНТАЦИЯ ОБНОВЛЕНИЯ

Маршрутизация

Назначение

Маршрутизация определяет способ доставки почтовых сообщений в зависимости от адреса получателя.

Сервер использует маршрутизацию для:

  • изменения адресов получателей;

  • перенаправления сообщений;

  • задания правил доставки.


Расположение в интерфейсе

Настройки → Маршрутизатор

Структура маршрутизатора

В панели администратора маршрутизация разделена на два независимых блока: маршрутизатор почты и маршрутизатор доступа.

Маршрутизатор почты

Используется для определения маршрута доставки почтовых сообщений.

Содержит таблицу правил маршрутизации.

Маршрутизатор доступа

Используется для определения параметров доступа и соединения.

Формат обрабатываемого адреса

При маршрутизации сервер работает с адресом получателя, который разбивается на компоненты.

Общий вид адреса:

mailbox#object+detail$tag%domain@host

где:

  • mailbox — имя целевой папки для доставки письма или использования в качестве папки по умолчанию в протоколах доступа (рабочая папка в POP3, календарь в CalDAV);

  • object — именованный объект в домене (аккаунт, группа рассылки);

  • detail — детализация объекта: может служить для дополнительной маршрутизации внутри объекта;

  • tag — имя дополнительного пароля аккаунта (если его нет, то используется основной пароль);

  • domain — имя домена;

  • host — целевое имя системы. Если не задано, то совпадает с domain.

Анализ разбора адреса можно получить с помощью функции Анализ адреса в панели администратора (см. раздел Анализ адреса).

Порядок обработки маршрутизации

Обработка выполняется последовательно для каждого адреса.

Общий порядок:

  1. Адрес разбивается на компоненты.

  2. Выполняется сопоставление адреса с шаблонами.

  3. При совпадении применяется соответствующее правило.

  4. Формируется новое значение адреса или параметров.

  5. Результат используется для дальнейшей обработки.


Таблицы маршрутизации

Маршрутизация задается в виде таблицы правил.

Каждое правило имеет вид:

  • pattern — шаблон для сопоставления;

  • replacement — результат преобразования.


Типы шаблонов

Существует два типа шаблонов:

Тип Описание

<pattern>

Шаблон применяется к полному адресу (например, user@domain)

pattern

Шаблон применяется только к доменной части

Примеры:

  1. Изменяет полный адрес:

    <*@old.example.org> = \1@new.example.org
  2. Изменяет только домен:

    old.example.org = new.example.org

Использование подстановок

При совпадении адреса с шаблоном часть значения, соответствующая подстановкам, может использоваться при формировании результата.

Для этого используются ссылки вида: \1, \2…​, которые соответствуют найденным частям адреса.

Пример:

*@old.example.org = \1@new.example.org

Если исходный адрес: ivan@old.example.org

Результат: ivan@new.example.org


Подстановочные знаки

В шаблонах используются подстановочные знаки и выражения.

Поддерживаются:

  • *, ?

  • [], диапазоны

  • {m,n}

  • захваченные значения (\1, \2 …​)

Подробное описание см. в разделе Шаблоны и подстановочные знаки.


Порядок обработки правил

Правила маршрутизации обрабатываются последовательно.

Порядок расположения правил влияет на результат.

Проверка маршрутизации

В панели администратора доступны два инструмента проверки: анализ адреса и проверка адреса.

Анализ адреса

Позволяет разобрать адрес на компоненты.

  1. Введите адрес в поле Анализ адреса.

  2. Нажмите Проанализировать.

В результате отображаются:

  • полный адрес;

  • домен (domain);

  • аккаунт (user);

  • хост (host).

Используется для:

  • понимания структуры адреса;

  • понимания работы шаблонов.

Проверка адреса

Позволяет выполнить тест маршрутизации для заданного адреса.

  1. Введите адрес в поле Проверить адрес.

  2. Нажмите Тест.

В результате отображаются:

  • canRelay:

  • domUID

  • host

  • uerID