default-virtual-mta

<source>критичноХаб задаёт сам

Поток или пул по умолчанию для писем из этого источника
в конфигурации это строкаdefault-virtual-mtaвнутри блока <source>
Куда уходит письмо, если поток никто не назвал

Нижняя ступень выбора потока. Директива называет поток или пул, которым уйдёт письмо из этого источника, — но только тогда, когда выбор не сделан выше: ни переменной слияния, ни заголовком, ни правилом по образцу.

Три формы значения. Имя потока — самое предсказуемое. Имя пула — MTA раздаст письма участникам по кругу. И зарезервированное by-smtp-source-ip: узел посмотрит, на какой свой адрес пришло соединение, и возьмёт поток, у которого этот адрес объявлен адресом отправки — по smtp-source-host или его прокси-форме.

Та же строка участвует в выборе имени для приветствия SMTP. Разбор имени начинается именно с неё, и это объясняет неочевидное правило: если здесь указан пул, приветствие всегда берёт имя первого его участника, без ротации.

Главная ловушка — считать умолчание назначением. Для платформы, которая никогда не ставит служебных заголовков, разницы нет. Для той, что начнёт их ставить, назначение перестаёт работать молча: конфигурация не менялась, а письма уходят другим адресом. Диагностики, которая назвала бы причину, у MTA нет.
Что делает Хаб. Пишет сам, в обоих файлах рабочей конфигурации и по-разному. В основном файле общий источник 0/0 получает by-smtp-source-ip: поток по адресу, на который пришло подключение, — правило, не растущее с числом адресов. В файле адресов источник подачи общего логина получает имя пула: письмо, не выбранное ни заголовком, ни списком, уйдёт одним из адресов пула по кругу; логин каждой пары получает свой поток. Пары «домен + адрес», из которых собираются потоки и пул, видны на карточке узла («Инфраструктура → Узлы», блок «Адреса и домены»). В базовой конфигурации строки нет.
Рекомендуемые значения

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

Значение Когда Что получаете
имя потока у источника ровно один адрес отправки предсказуемо, приветствие сходится
имя пула адресов несколько и они равноправны раздача по кругу MTA
by-smtp-source-ip у каждого адреса свой поток одна строка на весь парк

Пул и приветствие. Ставя имя пула, помните: имя в приветствии возьмётся у первого участника и на остальных не поменяется. Если у адресов пула разные обратные записи — задавайте имя каждому потоку отдельно, вторым словом smtp-source-host.

Три формы значения и правило про имя пула в приветствии — из руководства. Рекомендация «когда что» — наша, из практики парка.
Пример в конфигурации
# умолчание по адресу подключения — так пишет рабочую конфигурацию Хаб
<source 0/0>
    default-virtual-mta by-smtp-source-ip    process-x-virtual-mta yes
    smtp-service yes
</source>
Порядок строк здесь важнее, чем кажется. Заголовок разрешён, и он стоит выше умолчания: письмо с X-Virtual-MTA уйдёт названным потоком, а всё остальное — потоком того адреса, на который пришло подключение.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Ставят имя пула и получают одно имя в приветствии на всех

§ 3.3.1.35

Чем чреватоРазбор имени начинается с этой строки, и для пула берётся имя первого участника — без ротации. Все адреса пула представляются одним именем, и у всех, кроме одного, оно расходится с обратной записью.
Как заметитьПроверки на стороне получателя проходят хуже, чем должны при верной зоне; в отчётах видно несовпадение HELO и обратной записи.
Как правильноЗадать имя каждому потоку отдельно — вторым словом smtp-source-host. Тогда разбор дойдёт до имени потока и возьмёт правильное.

Строят разделение клиентов на одном умолчании

§ 9.4

Чем чреватоУмолчание отменяется всем, что стоит выше по лестнице выбора. Клиент, начавший ставить заголовок, уходит с любого адреса узла — в том числе с чужого прогреваемого.
Как заметитьВ учёте у клиента появляются имена потоков, которых ему не выдавали.
Как правильноЕсли разделение обязано быть жёстким — снять process-x-virtual-mta у этого источника. Умолчание само по себе ничего не гарантирует.

Ставят by-smtp-source-ip, не объявив потоки на всех адресах узла

§ 9.4.5

Чем чреватоСопоставление идёт с адресами, объявленными в smtp-source-host потоков. Подключение на адрес, за которым потока нет, ни с чем не сопоставляется, и руководство не описывает, что произойдёт дальше.
Как заметитьЧасть подач ведёт себя не так, как остальные, и разница коррелирует с адресом узла, а не с отправителем.
Как правильноДержать соответствие «адрес узла ↔ поток» полным, либо оставить в узком блоке <source> обычное умолчание с именем потока для адресов-исключений.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
default-virtual-mta <name>
Значения
имя потока, имя пула или зарезервированное by-smtp-source-ip
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<source>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Директива живёт в <source> и сливается по правилу источников: более узкий блок перекрывает более широкий, как это происходит с блоками <domain>. Умолчание в <source> 0/0 действует на всех, для кого не нашлось блока поуже. Именованный источник, подключённый к слушателю, в этом слиянии не участвует — он применяется только там, где на него сослались.
Как проверить на узле
Что именно назначено какому источнику, узел не показывает. Смотреть в собранную конфигурацию:
grep -n -B5 default-virtual-mta /etc/pmta/config
Убедиться надо в двух вещах: что найденный блок — действительно тот, под который попадает адрес подачи, и что более узкого блока с другим умолчанием нет. Подействовало ли оно на конкретное письмо, видно только по учёту, в поле vmta.
В Хабе
Управляется
Инфраструктура → Адреса отправки
Значение
Хаб подбирает сам — темп, стадия прогрева, метрики
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Ротация адресов отправки · Подключить платформу отправки
Важность
критично