Группа адресов отправки с долями трафика

<virtual-mta-pool>
Пул — это и раздача трафика, и общая область настроек

Пул перечисляет адреса отправки по именам и раздаёт письма между ними. Без указания долей — по кругу. С долями — в заданной пропорции, с шагом в одну десятую процента, и сумма долей обязана равняться 100.

Пул и адрес отправки — одно пространство имён. Всё, что умеет выбрать адрес отправки — заголовок, правило по образцу, вызов API, умолчание источника, — точно так же выбирает пул: по имени. Отправителю не нужно знать, что за именем стоит группа. Обратная сторона: совпадение имён MTA не разрешает, а отвергает определение пула.

Пул — ещё и область настроек. Внутри него можно объявить блок <domain> и семь директив, которые достанутся каждому участнику. Порядок разрешения руководство называет прямо: блок получателя внутри адреса отправки наследует сначала от пула, потом от узла, а собственная строка участника перекрывает пуловую.

Доли в одну десятую процента — это готовая рампа. Новый адрес на 0,1 % против обжитого на 99,9 % — пример самого руководства, и это ровно та задача, ради которой обычно пишут планировщик.

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

Собственных значений у пула нет — их задают директивы внутри. Выбор, который здесь делают, — способ раздачи:

Как Что получаете Когда
без долей письма по кругу, поровну адреса равноправны и одинаково прогреты
с долями заданная пропорция, шаг 0,1 % ввод нового адреса, канареечная доля, переезд
не пулом, а планом раздача решается при подаче нужны этапы, лимиты по приёмникам, остановка по доле спама

Что можно вынести в пул, чтобы не повторять у каждого участника: блок <domain> целиком и семь директив — cold-virtual-mta, domain-key, max-smtp-out, max-smtp-msg-rate, max-smtp-data-volume-rate, include-headers-from, suppression-lists.

Доли, шаг 0,1 %, сумма 100, общее пространство имён и список наследуемых директив — всё из руководства. Сравнение с планом прогрева — наше.
Пример в конфигурации
# канареечная доля: новый адрес получает одно письмо из тысячи
<virtual-mta-pool pool2>
    virtual-mta mta3 99.9    virtual-mta mta4 0.1
</virtual-mta-pool>
Пример руководства. Сумма долей — ровно 100, иначе определение недопустимо. Тот же пул можно записать без чисел — тогда письма пойдут по кругу поровну.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Включают адрес отправки в два пула с блоками получателей

§ 3.3.13

Чем чреватоРуководство называет это ошибкой конфигурации прямо: у участника оказывается два конфликтующих источника наследования для одного и того же получателя.
Как заметитьКонфигурация не применяется, а причина указывает на пул, который последним не правили.
Как правильноДержать участника в одном пуле с блоками получателей. Правила, общие для нескольких пулов, выносить на уровень узла.

Ставят пул умолчанием источника и ждут разных имён в приветствии

§ 3.3.1.35

Чем чреватоИмя берётся у первого участника и не меняется. У остальных адресов имя в приветствии расходится с их обратными записями — при том, что в конфигурации у каждого своё имя задано.
Как заметитьПроверки на стороне получателя ругаются на несовпадение имени и обратной записи у всех адресов пула, кроме одного.
Как правильноВыбирать адрес отправки поимённо — заголовком или правилом по образцу, — а пул оставить запасным вариантом.

Задают доли, не сходящиеся к сотне

§ 3.3.13.1

Чем чреватоСумма обязана равняться 100. Определение с другой суммой недопустимо, и обнаружится это на применении конфигурации, а не при правке.
Как заметитьПерезагрузка не проходит после правки долей.
Как правильноПересчитывать сумму при каждой правке. Шаг — десятая процента, так что 99,9 и 0,1 сходятся, а 99,9 и 0,2 уже нет.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Наследование
Пул — промежуточный уровень между узлом и адресом отправки. Всё, что записано в нём, достаётся участникам; собственная строка участника пуловую перекрывает. Для блоков получателей руководство называет порядок прямо: блок внутри адреса отправки наследует сначала от пула, потом от узла. И называет ошибку: адрес отправки не может состоять в двух пулах, у которых есть блоки <domain>.
⇄

Связанные записи

3 связи

Как проверить на узле
Какие пулы объявлены и кто в них входит — видно на узле:
pmta show vmtas
Проверять стоит две вещи: что имя пула не совпадает ни с одним именем адреса отправки и что ни один участник не состоит в двух пулах с блоками получателей. Первое MTA отвергнет, второе руководство прямо называет ошибкой.
В Хабе
Цена ошибки
с перерывом: применение прерывает работу узла
Сценарии
Планирование мощности · Ротация адресов отправки · Прогрев адресов