queue-to

<domain>

Альтернативное имя очереди, объединяющее домены с общими MX
в конфигурации это строкаqueue-toвнутри блока <domain>
Свести несколько доменов в одну очередь

Задаёт альтернативное имя очереди: письма нескольким доменам складываются в одну очередь и лимитируются как один получатель. Строка пишется в блоке каждого домена группы и называет общее имя.

Зачем. Домены, обслуживаемые одним шлюзом, для него один получатель. Пять корпоративных доменов на одном Exchange — это пять очередей со своими лимитами, а сервер за ними видит их сумму. Объединение делает лимит честным.

Хосты доставки придётся указать явно. Объединённая очередь не знает, по чьим MX идти, поэтому вместе с ней задают smtp-hosts. Есть и автоматический способ — объединение по совпадающим MX (auto-mx-rollup), он не требует списка доменов, но и имя очереди придумывает сам.

Главная ловушка. Объединение мешает MTA-STS: политика получателя привязана к его домену, а очередь теперь общая. Руководство предупреждает об этом отдельно. Вторая по частоте — прогрев: суточная норма считается после сведения, по общей очереди, и расписание, написанное по отдельным доменам, перестаёт работать как задумано.
Что делает Хаб. Не пишет. Конфигурация Хаба подоменная: провайдеров он группирует у себя — в аналитике и правилах политик, — а очереди на узле оставляет по доменам. Сведение меняет структуру очередей и разрывает историю по прежним именам, поэтому решать о нём должен человек.
Рекомендуемые значения

Имя выбирайте нечитаемое как домен. hotmail.queue, а не hotmail.com: так в списке очередей сразу видно, что это группа, а не получатель.

Одно имя — во всех блоках группы. Строка задаётся у каждого домена отдельно; пропущенный домен останется со своей очередью, и лимит группы окажется меньше фактической нагрузки на шлюз.

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

Совет о нечитаемом имени — наш. Из руководства здесь то, что имя не обязано быть доменом, требование задать хосты доставки и очистка пустой строкой.
Пример в конфигурации
# три домена одного шлюза — одна очередь и один лимит
<virtual-mta hotmail-queue>
    <domain hotmail.queue>
        max-smtp-out 10
        smtp-hosts lookup-mx:hotmail.com
    </domain>
    <domain hotmail.com>
        queue-to "hotmail.queue"    </domain>
    <domain live.com>
        queue-to "hotmail.queue"    </domain>
</virtual-mta>
Блок hotmail.queue описывает саму общую очередь — её лимиты и хосты; блоки доменов только направляют в неё. Пропустите один домен, и он поедет отдельно.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Сводят домены, не задав хосты доставки

§ 11.8

Чем чреватоИмя общей очереди в DNS не существует, и узел не знает, куда идти. Письма копятся, соединений нет.
Как заметитьОбщая очередь растёт, попыток доставки по ней ноль.
Как правильноЗадать smtp-hosts в блоке общей очереди — списком хостов или через lookup-mx: с именем настоящего домена.

Пропускают один домен группы

§ 11.8

Чем чреватоОн остаётся со своей очередью и своим лимитом. На шлюз идёт сумма двух темпов, а вы считаете, что ограничили его одним.
Как заметитьВ списке очередей рядом с общей стоит отдельная очередь одного из доменов группы.
Как правильноСверить список: строка должна быть в блоке каждого домена группы.

Сводят домены во время прогрева адреса

наш опыт

Чем чреватоСуточная норма прогрева считается по общей очереди. Пять доменов по норме превращаются в одну норму на всех — объём падает кратно числу доменов, а расписание не менялось.
Как заметитьДневной объём на греющийся адрес упал сразу после правки конфигурации.
Как правильноНе сводить домены, пока адрес греется, либо сразу переписать расписание на имя общей очереди.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
queue-to <domain>
Значения
имя общей очереди строкой; настоящим доменом быть не обязано; пустая строка снимает унаследованное значение
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<domain>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Значение сливается по блокам <domain> от общего к частному: побеждает наиболее подходящий блок, а не последний по файлу. Блок <domain> можно вложить в <virtual-mta> — тогда группа существует только внутри этого потока. Пустая строка (“”) снимает унаследованное значение — так выводят один домен из группы, объявленной шире. Подхватывается по pmta reload; письма, уже стоящие в старых очередях, туда и уедут — в общую очередь попадут только новые.
Как проверить на узле
Действующее значение печатает команда настроек очереди; результат виден по списку очередей — доменов в нём становится меньше:
pmta show settings hotmail.com/vmta1 | grep -i queue-to
pmta show queues | grep -i hotmail
Если во втором выводе домен виден и под своим именем, и под общим, значит часть писем осталась в старой очереди — она опустеет сама. Хаб сведения не настраивает.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Настроить темп под провайдера