include

<virtual-mta>

Подключить файл настроек внутри блока адреса отправки
в конфигурации это строкаincludeвнутри блока <virtual-mta>
То же имя ещё 4:<domain>Global<smtp-pattern-list><source><virtual-mta>— часть из них другие настройки, часть та же самая
Настройки адреса отправки — отдельным файлом

Форма и правила те же: путь, маска или адрес HTTP. Строки читаются как настройки этого адреса отправки.

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

Повторять можно — руководство показывает файл и адрес подряд.

Главная ловушка — пропуск строки адреса. Вынеся настройки адреса отправки в файл, легко забыть, что smtp-source-host тоже должен быть где-то задан. Адрес отправки без неё не остаётся пустым, а молча берёт общий набор узла — и письма уходят не с того адреса, без всякой ошибки.
Что делает Хаб. Не пишет: определения адресов отправки Хаб генерирует целиком — адрес, имя, ключ подписи, лимиты, правила приёмников — и перезаписывает при каждом применении. Ключи подписи он кладёт на узел файлами, но ссылается на них строкой domain-key, а не подключением конфигурации.
Рекомендуемые значения

Три формы значения, как и на уровне узла:

Значение Когда
путь к файлу ключи подписи или лимиты вынесены отдельно
маска по файлу на адрес отправки
адрес HTTP настройки раздаются централизованно

Чего в такой файл лучше не класть — строку smtp-source-host: это то, ради чего адрес отправки существует, и она должна быть видна в его определении.

Формы значения и пример с ключами подписи — из руководства (§ 3.3.12.14). Совет не выносить строку адреса — наш.
Пример в конфигурации
# ключи подписи вынесены из определения адреса отправки
<virtual-mta mta1>
    include /etc/pmta/domain-keys.txt    include https://10.1.2.3:4000/dkim/keys.txt
</virtual-mta>
Пример руководства. Строки smtp-source-host в этом блоке не видно — если её нет и в подключённых файлах, адрес отправки молча возьмёт общий набор узла.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Выносят всё, включая строку адреса

§ 9.2

Чем чреватоОпределение адреса отправки становится нечитаемым: по блоку нельзя понять, с какого адреса он шлёт. А если строки нет и в файле, адрес молча наследует набор узла.
Как заметитьУ нескольких адресов отправки в учёте один и тот же адрес доставки.
Как правильноОставлять smtp-source-host в самом блоке. Выносить то, что длинное и меняется, — ключи и лимиты.

Раздают ключи подписи по HTTP без заголовка авторизации

наш опыт

Чем чреватоОбычная форма подключения заголовков не поддерживает, а адрес не может содержать логин. Файл с приватными ключами оказывается доступен всем, кто знает адрес.
Как заметитьОбнаруживается при разборе доступа, а не в работе.
Как правильноБрать <include-config> с http-extra-headers — там заголовок Authorization задаётся файлом.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
include <path-or-url>
Значения
путь к файлу, маска или абсолютный адрес http/https без userinfo, строки запроса и якоря
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<virtual-mta>
Сколько раз
можно повторять
Всё здесь — из руководства, с разделом.
Наследование
Наследования у самой строки нет: это подстановка. Подключённые директивы наследуются дальше по обычному порядку адресов отправки — узел, <virtual-mta-pool>, сам адрес, — и чем ближе к письму, тем сильнее.
Как проверить на узле
Что в итоге действует у адреса отправки, показывает сам узел:
pmta show vmta-settings mta1
В выводе должны быть заполнены Source Host IP и Source Host, а ключи подписи — перечислены отдельными строками. Пусто — значит подключённый файл их не принёс, и действует общий набор узла.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Ротация адресов отправки