我正在编写一个网络应用程序,需要接收用户内部电子邮件地址的电子邮件,让管理员批准它们,然后转发到相应用户的外部邮箱。
我已经为消息接收任务安装并配置了postfix。它使用虚拟电子邮件地址和我存储用户电子邮件地址的现有数据库。本地电子邮件存储是maildir,我使用postfix的虚拟MDA。
基本上,我想在每次收到新消息时执行一个脚本,并且对于哪个用户(maildir消息id也非常有帮助)。然后我可以从python代码中读取消息(python有一个maildir消息框的模块)并将其插入数据库中。 我可以想到三种方法:
任何建议都赞赏!
答案 0 :(得分:8)
在/etc/aliases文件中,您可以指定每次用户收到邮件时执行的程序。该程序在stdin上获取邮件。所以你不必进行民意调查,你的程序会立即运行。
答案 1 :(得分:5)
在回答我自己的问题时,我使用了postfix content_filter,在管道中设置了X标志并手动处理接收地址和消息。由于我不需要在maildir中访问消息,这种方法对我来说很好。