auto-mx-rollup

Global

Сводить ли домены с одинаковым набором младших MX автоматически
в конфигурации это строкаauto-mx-rollup not enabledвнутри блока Global
Сведение без списка — узел группирует сам

Второй способ свести домены в одну очередь. Первый — блок <mx-rollup-list>, где вы перечисляете записи MX руками. Этот — одна строка: узел сам объединяет домены, у которых набор младших MX совпал по именам. По именам, а не по адресам: два шлюза с разными именами, ведущими на один адрес, узел разными и сочтёт.

Список имеет приоритет. Автоматическое сведение рассматривается только там, где в <mx-rollup-list> совпадения не нашлось.

Имя очереди узел придумывает сам — из набора MX. Два шлюза mx1.foo.com и mx2.foo.com дают очередь qn.mx1.foo.com.mx2.arollup. Длиннее примерно 160 знаков имя укорачивается, а при совпадении имён к qn добавляется число. Созданная очередь переживает перезапуск.

Главная ловушка — чьи настройки достанутся очереди. Если под придуманное имя не подходит ни один блок <domain> кроме звёздочки, а у какого-то из сведённых доменов настройки заданы, узел возьмёт их — а если подходящих несколько, то первые встреченные по файлу. То есть темп общей очереди задаст один произвольный домен из группы, выбранный по порядку строк в конфигурации.
Что делает Хаб. Не пишет. Придуманные имена очередей ломают всё, что Хаб строит вокруг пары «получатель + адрес отправки»: имя меняется при смене MX у провайдера, и телеметрия по нему разрывается. Провайдеров Хаб группирует у себя, а очереди на узле оставляет подоменными.
Рекомендуемые значения

Значение одно. Строка либо есть со словом by-name, либо её нет: других видов сведения у неё не бывает.

Включать — вместе с блоком настроек. Сразу после включения заведите <domain> под ожидаемые имена очередей, иначе настройки достанутся им от случайного домена группы.

Не сочетать с ручным прогревом по доменам. Суточная норма прогрева берётся у сведённой очереди, а не у отдельных доменов, — расписание, написанное по доменам, работать перестанет.

Совет заводить блок настроек вместе с включением — наш. Из руководства здесь единственное допустимое значение, приоритет ручного списка, правило именования очередей и то, что очередь переживает перезапуск.
Пример в конфигурации
# сведение по совпадающим именам MX
auto-mx-rollup by-name
# и сразу — настройки для придуманных имён,
# иначе они достанутся первому подходящему домену группы
<domain *.arollup>
    max-smtp-out 20
    max-msg-rate 300/h
</domain>
Строка пишется в корне файла, блока у неё нет. Имя *.arollup ловит все автоматически созданные очереди сразу — точные имена заранее неизвестны.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

Типичные ошибки и проблемы

что делают не так и чем это кончается2 ошибки▶

Включают, не заведя блок настроек под новые имена

§ 3.3.1.52

Чем чреватоНастройки сведённой очереди достаются первому подходящему домену группы — по порядку строк в конфигурации. Темп общей очереди оказывается случайным.
Как заметитьОчередь .arollup едет с темпом, который вы задавали одному конкретному домену.
Как правильноЗавести <domain> с шаблоном *.arollup и задать нужные лимиты явно.

Ждут, что сведение переживёт смену MX у провайдера

§ 3.3.1.52

Чем чреватоГруппировка идёт по именам MX. Провайдер поменял их — домен выпадает из своей сведённой очереди и заводит новую, с новым именем. История по прежнему имени обрывается.
Как заметитьВ списке очередей появилось новое имя .arollup, старое опустело.
Как правильноТам, где нужна устойчивость имени, пользоваться ручным списком или queue-to: они задают имя, а не выводят его.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
auto-mx-rollup by-name
Значения
единственное значение by-name; без строки сведение выключено
Умолчание
not enabled § 3.3.1.52
Применение
reload, перезапуск не нужен
Очередь
затронет и то, что уже стоит в очереди
Где писать
Global
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Строка уровня узла: пишется в корне файла, не внутри блока, и действует на весь узел. Отменить сведение для конкретного получателя можно только на его стороне — строкой disable-mx-rollup в его блоке <domain>. Подхватывается по pmta reload; уже созданные сведённые очереди при этом не исчезают — они переживают и перезапуск.
⇄

Связанные директивы

3 связи

Как проверить на узле
Автоматически созданные очереди узнаются по имени: они оканчиваются на .arollup, а не на .rollup:
pmta show queues | grep -i arollup
grep -n auto-mx-rollup /etc/pmta/config
Разница в одну букву существенна: .rollup — очередь из ручного списка, .arollup — придуманная узлом. Хаб ни те, ни другие не создаёт.
В Хабе
Цена ошибки
с перерывом: применение прерывает работу узла
Сценарии
Разобраться с доставляемостью · Настроить темп под провайдера