include

<smtp-pattern-list>

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

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

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

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

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

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

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

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

Формы значения и требования к адресу — из руководства (§ 3.3.15.1). Замечание про приоритет и место подключения — наше.
Пример в конфигурации
# длинный список правил вынесен и обновляется отдельно
<smtp-pattern-list blockList>
    include /etc/pmta/patterns.txt    include https://10.1.2.3:4000/smtp/patterns.txt
</smtp-pattern-list>
Пример руководства. Правила из первого файла окажутся выше правил из второго — и выше всего, что написано ниже в самом блоке: побеждает первое совпадение.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Подключают файл выше собственных правил

§ 3.3.15.1

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

Обновляют файл, не проверив, что узел его прочитал

§ 3.3.15.1

Чем чреватоФайл читается при чтении конфигурации, а не постоянно. Обновлённые правила не действуют, пока не было перезагрузки.
Как заметитьФайл поменяли, поведение прежнее.
Как правильноПосле обновления перечитывать конфигурацию и сверять результат командой из справки.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
include <path-or-url>
Значения
путь к файлу, маска или абсолютный адрес http/https без userinfo, строки запроса и якоря
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<smtp-pattern-list>
Сколько раз
можно повторять
Всё здесь — из руководства, с разделом.
Наследование
Наследования у самой строки нет: это подстановка на её место. Подключённые правила дальше живут по правилам своего списка, где порядок значим и побеждает первое совпадение, — а порядок задаётся именно тем, где стоит строка подключения.
Как проверить на узле
Собранного списка правил MTA не печатает — блок читают вместе с подключёнными файлами:
grep -rn -A30 '<smtp-pattern-list' /etc/pmta/
Строки подключённого файла встают на место строки include, и порядок в итоге — порядок проверки. Если правило не срабатывает, ищите выше него более широкое — оно закрывает.
В Хабе
Цена ошибки
опасно: последствия переживут откат
Сценарии
Безопасность узла