Работа по протоколу Milter

Взаимодействие с Postfix по протоколу Milter происходит следующим образом:

Через транспортное соединение, определяемое со стороны модуля drweb-milter (который работает как компонент Receiver) транспортным адресом, системе Postfix передаются внутренние команды Milter API и сообщение. При этом сообщение передается по частям, в зависимости от фазы почтовой сессии (helo, mail from:, rcpt to: и т.д.). Части сообщения сохраняются модулем drweb-milter во временных файлах. Посредством Milter API модуль drweb-milter передает системе Postfix указания о действиях, которые необходимо совершить над данным сообщением.

Milter API является многопоточной библиотекой, что позволяет одновременно обрабатывать несколько почтовых сессий. В описываемом режиме взаимодействия Postfix является клиентом, а drweb-milter – сервером, поэтому в конфигурационном файле системы Postfix main.cf указывается адрес модуля drweb-milter, а система Postfix выбирает подходящий клиентский адрес для этого соединения;

Через другое транспортное соединение модуль drweb-milter передает модулю drweb-maild команды и ждет ответа.

В приведенной схеме модуль drweb-milter является простым посредником (или преобразователем) между интерфейсом почтовой системы Postfix и модулем drweb-maild.

Пожалуйста, обратите внимание на особенности работы через Milter в синхронном и асинхронном режимах.

Внимание!

Postfix и модуль drweb-milter могут быть запущены на разных компьютерах, но модули drweb-milter и drweb-maild должны быть запущены локально.