<module-Helpers>

Модуль позволяет контролировать работу сервера SMTP с помощью внешних программ называемых хелперами. Хелперы получают события на стандартный ввод и отвечают на них на стандартный вывод, после чего переходят к ожиданию следующего события.

<module-Helpers>
  <log-level>N</log-level>
  <smtpsrv>
    <order>N</order>
    <run max="N">filename</run>
    <instance-sess-max>N</instance-sess-max>
  </smtpsrv>
</module-Helpers>
smtpsrv/order

Устанавливает порядок в котором модули получают события от модуля SMTP. По-умолчанию: 10.

smtpsrv/run

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

smtpsrv/instance-sess-max

Указывает количество сессий SMTP одновременно обрабатываемых одним хелпером. Укажите 1 чтобы хелпер не получал событий новых сессий пока не завершится уже начатая.

В начале каждой новой сессии модуль SMTP просматривает информацию о всех работающих экземплярах и находит тот у которого количество обрабатываемых в данный момент сессий SMTP меньше установленного атрибутом max узла run. Далее, сессия привязывается к экземпляру, после этого все события данной сессии будут направляться в этот экземпляр. Если все экземпляры заняты, будет запущен новый. Если количество экземпляров достигло значения узла instance-sess-max модуль будет ожидать освобождения одного из экземпляров что приведёт к задержке обработки событий сессии.