Zimbra中的自动邮件处理

任务:在到达(特定地址)到(特定地址)的电子邮件时,必须parsing消息,并且必须完成一些操作。

更具体。 我们的一个人事会计软件向我发送有关设置邮件转发的电子邮件 – 用户退休或休假或生病。 HQ认为设置转发是系统pipe理员的工作。

好的,为了缓解我写bash脚本的事情,它需要4个参数:转发的开始和结束date,以及两个地址 – 从谁和谁转发。 该脚本调用zmprov进行必要的修改,并将数据存储在伪数据库中,然后在cron.daily上进行处理。

在邮件到达时,我从中复制date和地址,并将其粘贴为脚本的CLI参数。

由于这些电子邮件的内容是结构化的,我想我可以编写一个parsing器,它将提取信息并自动启动我的脚本。

但我不知道如何启动这个parsing器。 在旧的FidoNET中,有很多所谓的“邮件机器人” – 激活程序来处理传入的networking/回声邮件。 API已经被logging并且足够清晰 – 邮件程序或echomail处理器可以触发事件,并且如果需要的话可以启动机器人。

在Zimbra中,我发现只有一个办法:用sendmail使用milters。 在我的服务器上,每天收到的电子邮件数量大约是50-75公斤,每封邮件的发送量都是相反的 – 每周大约有1-5个转发请求。

有没有什么方法可以根据消息数据发起一些事情,而不是基于事实的到来?

那么……没有人会用Zimbra自动处理邮件,除了我。 让我们如此。

这是我做的解决scheme:

  1. 允许Zimbra Postfix设置“mail-to-files”和“mail-to-commands”
  2. 编写运行在cron或邮件到命令事件上的脚本

研究的几个结果在我的博客。

共同的问题

后缀别名

谢谢大家,一直保持沉默。 你让我变得更强壮