Zimbra 中的自动邮件处理

Zimbra 中的自动邮件处理

任务:当一封电子邮件从(特定地址)到达(特定地址)时,必须解析该消息并执行一些操作。

更具体一点。我们的一个人员会计软件给我发送了关于设置邮件转发的电子邮件 - 用户退休、休假或生病。总部认为设置转发是系统管理员的工作。

好的,为了简化操作,我编写了一个 bash 脚本,该脚本需要 4 个参数:转发的开始和结束日期,以及两个地址 - 从谁转发和转发给谁。该脚本调用 zmprov 进行必要的修改,并将数据存储在伪数据库中,然后在 cron.daily 上进行处理。

消息到达时,我从中复制日期和地址,并将它们粘贴为脚本的 CLI 参数。

因为这些电子邮件的内容是结构化的,所以我想我可以编写一个解析器来提取信息并自动启动我的脚本。

但我不知道如何启动这个解析器。在旧的 FidoNET 中,有很多所谓的“邮件机器人”——为处理传入的网络/回显邮件而激活的程序。API 已记录且足够清晰——邮件程序或回显邮件处理器可以触发事件,并且可以在需要时启动机器人。

在 Zimbra 中,我发现只有一种方法:使用带有 sendmail 的邮件过滤器。我的服务器上每天的电子邮件量约为 50-75 千封,而对每封邮件都启动邮件过滤器是适得其反的 - 每周大约有 1-5 个转发请求。

有没有办法根据消息数据而不是根据其到达的事实来启动某些东西?

答案1

嗯...除了我之外,没有人使用 Zimbra 自动处理邮件。就这样吧。

这就是我提出的解决方案:

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

我的博客里有几项研究成果。

常见问题

后缀别名

谢谢你们所有人保持沉默。你们让我变得更坚强。

相关内容