Умолчание источника — нижняя ступень, привязанная к тому, кто подключается

default identity by source address
Поток по умолчанию — для тех, кто не умеет выбирать

Способ создан для отправителей, которых нельзя изменить: программ, не умеющих добавлять заголовки, или набора разных машин, каждой из которых положен свой адрес. Блоков <source> можно объявить сколько угодно, у каждого своё умолчание, и вместо имени потока допустимо имя пула.

Определяющее свойство — то, что это умолчание. Оно применяется только тогда, когда наверху лестницы никто не высказался. Значит, подействует ли оно на конкретное письмо, зависит не от конфигурации, а от того, что отправитель положил в письмо.

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

Чего Хаб не делает — не рассуждает о том, что стоит выше. Умолчание записано, а перебивает ли его платформа заголовком, Хаб не знает и не проверяет.

Рекомендуемые значения

Собственных значений у механизма нет: значение задаёт default-virtual-mta. Выбор здесь по существу из трёх:

Значение Когда Что получаете
имя потока у источника один адрес отправки предсказуемо и просто
имя пула адресов несколько и они равноправны раздача по кругу MTA
by-smtp-source-ip у каждого адреса свой поток правило, не растущее с числом адресов
Три формы значения — из руководства. Рекомендации «когда что» — наши, из практики парка.
Пример в конфигурации
# у каждой подающей машины свой поток, без единого заголовка
<source 10.0.0.5>
    default-virtual-mta shop-example-com    always-allow-relaying yes
</source>

<source 10.0.0.6>
    default-virtual-mta news-example-com
    always-allow-relaying yes
</source>
Ровно тот случай, ради которого способ и существует: две программы, ни одна не умеет служебных заголовков, разделение держится на адресах подачи. Пока они заголовков не ставят, умолчание работает как назначение.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

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

§ 3.3.1.35

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

Считают умолчание гарантией

§ 9.4

Чем чреватоУмолчание стоит на нижней ступени и отменяется всем, что стоит выше. Разделение клиентов, построенное на нём одном, держится ровно до первого заголовка.
Как заметитьПисьма клиента внезапно уходят чужим адресом при неизменной конфигурации.
Как правильноЕсли разделение обязано быть жёстким — снимать разрешение на заголовок у этого источника, а не полагаться на умолчание.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Наследование
Директива живёт в <source> и сливается по правилу источников: более узкий блок перекрывает более широкий. Умолчание, записанное в <source> 0/0, действует на всех, для кого не нашлось блока поуже, — и именно поэтому его стоит держать осмысленным, а не случайным.
Как проверить на узле
Прямой проверки нет — узел не показывает, какому источнику что назначено. Смотреть в собранную конфигурацию:
grep -n -B3 default-virtual-mta /etc/pmta/config
Полезно убедиться, что найденный блок — действительно тот, под который попадает адрес подачи, и что более узкого блока с другим умолчанием нет. Дальше — сверка по учёту: поле vmta покажет, применилось ли умолчание или выбор сделали выше.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Подключить платформу отправки · Разделение отправителей