Communigate - написание собственного обработчика на python (record email)

Есть в communigate такая полезная штука - Helpers (Помощники) https://www.communigate.com/communigatepro/Helpers.html.  Данные приложения позволяют отправлять письмо, звонок и др. на обработку произвольной программы. Например, helpers активно используется в antispam plugin. У communigate все примеры на перле, я более знаком с питоном, поэтому хотелось попробовать его использовать. Появилась задача записывать все исходящие/входящие письма (Дата, от Кого, к Кому, Тема).

У communigate есть библиотека скриптов - http://www.communigate.com/ru/main/purchase/scriptrepository.html, где под наши цели подходит CGP-Helper-Plugin.pl - Пример-макет для написания своего Helper-а. Смотрим на него и переписываем под нас на питоне. Изначально задача состояла в состыковке  самописной crm и почты communigate - чтобы все исходящие/входящие письма фиксировались на сайте.

Но сначала:

Заходим Установки - Общее - Помощники  и создаем наш helper, например назовем его record_email_toremote.py. Для unix систем он будет находиться в папке /var/CommuniGate/crm (папки по умолчанию нет, поэтому предварительно создаем ее)

 

 

 

Далее заходим Установки - Почта - Правила. Указываем приоритет меньше, чем у спам-фильтра (чтобы правила спам-фильтра сработали ДО обработки письма скриптом)


 

 Указываем два правила - RecordEmailRemoteIN и RecordEmailRemoteOUT - соответственно, для записи входящих писем извне и записи исходящих от нас писем во вне.

 

Само правила:

 OUT: указываем некоторые наши email, которые не хотим записывать. Условием Любой Маршрут равно SMTP(* говорим, что получатель находится на удаленном домене

 

IN: Условием Источник не среди trusted,authenticated указываем что будем записывать письма извне

При таких правилах OUT и IN письма, идущие внутри communigate, записываться не будут.

 

 Путь к скрипту: git clone https://github.com/unix196/communigate_helpers.git

 

 




 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Please publish modules in offcanvas position.