Работает корпоративный почтовый сервер на postfix+dovecot(внутренний, связи с внешним миром нет). Для каждого отправленного письма необходимо автоматически формировать "квитанцию" (notify) о том, что получатель письмо с сервера забрал (Политика партии, не изменяемо!).
Как это реализовано сейчас.
client <-> (110 порт) обработка данных <-> (1500 порт) dovecotТ.е. на 110 порту висит моя прога и обрабатывает pop3 протокол между клиентом и dovecot, доставая все данные необходимые для формирования принудительного notify. Которая по окончанию сессии рассылает уведомления в нужном мне формате.
Вопрос. Охото данную прослойку перенести в обработку за dovecot. Т.е. есть ли такая возможность, чтобы dovecot выполнял внешний скрипт, для манипуляции с отдаваемым письмом? (т.к. все сильно усложняется, если включить шифрование, сертификаты, imap). Или есть другой альтернативный путь?
>[оверквотинг удален]
> не изменяемо!).
> Как это реализовано сейчас.
> client <-> (110 порт) обработка данных <-> (1500 порт) dovecot
> Т.е. на 110 порту висит моя прога и обрабатывает pop3 протокол между
> клиентом и dovecot, доставая все данные необходимые для формирования принудительного notify.
> Которая по окончанию сессии рассылает уведомления в нужном мне формате.
> Вопрос. Охото данную прослойку перенести в обработку за dovecot. Т.е. есть ли
> такая возможность, чтобы dovecot выполнял внешний скрипт, для манипуляции с отдаваемым
> письмом? (т.к. все сильно усложняется, если включить шифрование, сертификаты, imap). Или
> есть другой альтернативный путь?Да, умеет, в документации по довекоту кастом скрипты описаны.
Для каждого протокола можно свое прикрутить.
> Да, умеет, в документации по довекоту кастом скрипты описаны.
> Для каждого протокола можно свое прикрутить.А можно поподробнее?
Нашел в dovecot "imap/pop3 executable to use post-login service" но там само письмо скрипту не передается вроде как:The script can use environment variables:
USER: Username
IP: Remote IP address
LOCAL_IP: Local IP address
Fields returned by userdb lookup with their keys uppercased (e.g. if userdb returned home, it's stored in HOME).