Назад | Перейти на главную страницу

Автоматическая обработка почты в Zimbra

Задача: при получении электронного письма от (конкретный адрес) на (конкретный адрес) сообщение необходимо проанализировать и выполнить некоторые действия.

Чтобы быть более конкретным. Одно из наших программ для кадрового учета отправляет мне электронные письма о настройке пересылки почты - пользователь вышел на пенсию, ушел в отпуск или просто заболел. HQ считает, что настройка пересылки - это работа системного администратора.

Хорошо, чтобы упростить работу, я написал сценарий bash, который принимает 4 параметра: начальную и конечную даты пересылки и два адреса - от кого и кому пересылать. Сценарий вызывает zmprov для внесения необходимых изменений и сохраняет данные в псевдо-БД, которые, в свою очередь, обрабатываются в cron.daily.

По прибытии сообщения я копирую из него даты и адреса и вставляю их как параметры интерфейса командной строки для сценария.

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

Но я не знаю, как запустить этот парсер. В старом FidoNET было много так называемых «почтовых роботов» - программ, активированных для обработки входящих сетевых / эхо-писем. API был задокументирован и достаточно понятен - почтовая программа или процессор эхопочты могли инициировать событие, а робот мог быть запущен при необходимости.

В Zimbra я нашел только один способ: использовать milters с его sendmail. Ежедневный объем писем на моем сервере составляет около 50-75 килограммов сообщений, и запуск milter для каждого сообщения контрпродуктивен - примерно 1-5 запросов на пересылку в неделю.

Есть ли способ запустить что-то по данным сообщения, а не по факту его прихода?

Ну ... кроме меня никто не автоматизирует обработку почты с помощью Zimbra. Пусть будет так.

Это решение, которое я сделал:

  1. Разрешены настройки Zimbra Postfix "mail-to-files" и "mail-to-commands"
  2. Написал скрипты, работающие в cron или в событии mail-to-command

Несколько результатов исследования есть в моем блоге.

общие проблемы

постфиксные псевдонимы

Спасибо всем, кто молчал. Ты сделал меня сильнее.