Главная
Возможности
Модули
Интеграция
База PMTA
База MailerQ
Стоимость
Блог
D
e
m
o
Главная
Возможности
Модули
Интеграция
База PMTA
База MailerQ
Стоимость
Блог
D
e
m
o
Главная
Возможности
Модули
Интеграция
База PMTA
База MailerQ
Стоимость
Блог
База знаний PMTA
›
Сценарий
Жизненный цикл конфигурации
записей в сценарии: 54
run-as-root
Global
критично
Директива
Для работы от непривилегированного пользователя должно быть false; смена требует перезапуска.
http-enable-api-config
Global
Директива
Открывает интерфейс, позволяющий заводить списки адресов и адреса отправки по HTTP; выключен по умолчанию.
include
Global
Хаб задаёт сам
Директива
Читает дополнительный файл — по пути, по маске или по адресу HTTP; содержимое обрабатывается так, будто написано на этом месте.
smtp-hosts
<domain>
Директива
Список хостов с уровнями предпочтения, портами и адресами — либо указание взять MX другого домена.
include
<domain>
Директива
Та же директива, записанная внутри блока получателя — подключённые строки становятся правилами этого получателя.
relay-debug
Global
Директива
Переводит контроль релея в отладочный режим: вместо окончательного отказа узел отвечает временным, и письмо остаётся у отправителя, а не отбивается.
backoff-max-msg-per-hour
<domain>
устарела
Директива
Замена — backoff-max-msg-rate, и у неё есть умолчание, которого у этой формы не было.
broken-auth-clients
<source>
устарела
Директива
Одна из двух директив каталога, о которых руководство не говорит ничего, кроме слова «устарела».
check-spf-inbound-best-guess
<source>
устарела
Директива
Руководство помечает её как устаревшую и прямо не советует применять.
delivery-priority
<domain>
устарела
Директива
Раздел содержит только пометку об устаревании и указание на замену: приоритет очереди.
max-msg-per-hour
<domain>
устарела
Директива
Замена — max-msg-rate: то же ограничение, но интервал пишется в самом значении.
max-smtp-out-per-source-ip
<domain>
устарела
Директива
Прежнее имя лимита соединений на адрес; руководство больше ничего о ней не сообщает.
route
<domain>
устарела
Директива
Тот же механизм под старым именем: руководство даёт ей дословно то же описание и просит пользоваться новым.
smtp-ip
Global
устарела
Директива
Замена — smtp-listener: адрес и порт в одной строке, и её присутствие делает эту строку немой.
smtp-port
Global
устарела
Директива
Вторая половина замененной пары: порт задавался отдельно от адреса, теперь они пишутся одной строкой.
smtp-server-tls-allow-sslv3
Global
устарела
Директива
PowerMTA больше не поддерживает SSLv3; строка сохранена только ради совместимости конфигураций.
smtp-tls-allow-sslv3
<domain>
устарела
Директива
PowerMTA больше не поддерживает SSLv3; строка сохранена только ради совместимости конфигураций.
spool
Global
устарела
Директива
Задавала расположение спула одной строкой; заменена блоком, у которого есть приоритет, порог свободного места и режимы.
Как узел выбирает источник и складывает его настройки
критично
Механизм
Соединение попадает под все блоки источника, чьи адреса его накрывают, и действуют они слитно — узкий перекрывает широкий; именованные блоки подключаются только по прямой ссылке.
Настройка через API и файл не сходятся
критично
Механизм
Объекты, созданные через интерфейс настройки, в файле не правятся: два источника правды о конфигурации не сходятся.
Перезагрузка настроек против перезапуска службы
критично
Механизм
Конфигурация читается при старте, дальше правки подхватываются командой перезагрузки — кроме тех директив, которые руководство помечает как требующие перезапуска.
Четыре типа значений, на которых написан весь конфиг
критично
Механизм
Логическое, образец домена, регулярное выражение и промежуток времени — определены один раз в § 3.2 и дальше используются всеми директивами.
Одноимённые директивы
Механизм
Имя директивы определяет настройку только вместе с блоком: 48 из 417 имён описаны больше чем в одном месте, и одно имя в разных блоках — не всегда одна настройка.
Как API сообщает об ошибке
Механизм
Подача по HTTP сообщает об ошибках кодами ответа, а API настройки на всё, кроме отказа в доступе, отвечает
200
и пишет исход в поле
status
.
Диалект регулярных выражений
Механизм
Регулярные выражения конфигурации — совместимые с Perl, на библиотеке PCRE: так пишут выбор адреса отправки, правила ответов, категории отказов, списки адресов и заголовки подписи.
Указатель директив
Механизм
Алфавитный перечень руководства: 475 строк называют 477 мест описания директив — единственная полная опись языка конфигурации.
Чужие составляющие MTA
Механизм
PowerMTA работает на пяти сторонних библиотеках — PCRE, OpenSSL, ICU, gumbo-parser и prometheus-cpp; их поведение задаёт сборка MTA.
Принять, направить, доставить
Механизм
Путь письма внутри узла: принять, решить куда, доставить — и между этими тремя шагами живут все настройки.
Первоначальная настройка
критично
Процедура
Руководство требует задать руками две вещи: адрес ответственного и управление ретрансляцией — источники подающих машин с
always-allow-relaying
; правила приёма нужны, только если узел принимает входящую почту.
Сменить адрес отправки, когда письма уже в очереди
Процедура
Новые соединения берут новое определение сразу после перезагрузки конфигурации; уже открытые доживают на старом.
Разбор отказа запуска
Процедура
Порядок поиска причины, когда MTA не поднимается: отдельный файл отказов запуска, основной журнал, запуск в консоли с выводом на экран.
Запуск и остановка MTA
Процедура
MTA работает службой на Windows и демоном на Unix; после запуска рядом с ним должен оказаться сторож, а остановка прекращает доставку, не трогая писем на диске.
<virtual-mta-pool>
Блок конфигурации
Несколько адресов, к которым обращаются как к одному, с чередованием между ними.
<address-list>
Блок конфигурации
Именованный список подключается по имени; безымянный живёт внутри обработчика отказов или жалоб и отбирает почту для разбора.
<email-patterns>
Блок конфигурации
Блок с файлами образцов, вкладывается внутрь обработчика отказов или жалоб; строк в нём две.
<include-config>
Блок конфигурации
То же, что include с адресом, но позволяет задать заголовки запроса — например, авторизацию.
<smtp-user>
Блок конфигурации
Один блок — один логин: чем подтверждается вход и какой именованный источник даёт ему права; объявляется в корне файла.
<source-group>
Блок конфигурации
Собирает источники в группу, чтобы пределы входящих соединений действовали на них вместе; участники называют группу у себя.
<transmissions-api-listener>
Блок конфигурации
Адрес, порт и шифрование для подачи писем по HTTP.
<transmissions-api>
Блок конфигурации
Ключи доступа, предел размера запроса и журналирование для подачи почты по HTTPS; объявляется один раз в корне файла.
<rewrite-list>
Блок конфигурации
Именованный список правил; подключается к источнику по имени, и все письма оттуда проходят через него.
<signals-filter>
Блок конфигурации
Блок с правилами по домену отправителя; подключается к охвату по имени, несовпавшее считается выключенным.
reload
критично
Команда
Перечитывает файл конфигурации и включает новые настройки; при ошибке в файле команда не проходит, а узел продолжает работать на прежних.
show settings
критично
Команда
Печатает настройки для пары «приёмник и адрес отправки» после слияния всех блоков.
test config
критично
Команда
Разбирает конфигурацию, ничего не применяя.
pmtad –debug
Команда
Запускает MTA в переднем плане, печатая сообщения на экран вместо файла.
Заменить файл конфигурации по сети
Точка API
Записывает на узел один или несколько файлов конфигурации — без проверки содержимого и без перечитывания.
Прочитать файл конфигурации по сети
Точка API
Отдаёт содержимое файла конфигурации из
/etc/pmta/
— сам файл или строкой внутри JSON.
Перечень файлов конфигурации
Точка API
Перечисляет действующие файлы конфигурации узла: главный, подключённые и файл умолчаний.
Чтение спула при запуске
Метрика
Доля выполненного чтения спула при запуске, в процентах.
Конфигурация
Экран монитора
Показывает главный и подключённые файлы конфигурации и позволяет их править; сохранение само перечитывает конфигурацию.
Главный файл конфигурации узла
критично
Файл
/etc/pmta/config — обычный текстовый файл в UTF-8, читается при старте и по перезагрузке настроек; хранит пароли и ключи подписи открытым текстом.
Куда узел пишет, почему не запустился
Файл
Отдельный файл с сообщением об отказе запуска — первое, что читают, когда MTA не поднимается после установки или правки конфигурации.
Файл умолчаний
Файл
Второй основной файл конфигурации: умолчания, поверх которых читается главный.