Postfix - 如何处理传入的电子邮件?

Bor*_*vić 6 postfix-mta

有人知道如何在postfix中处理虚拟邮箱的传入电子邮件吗?我正在构建Web应用程序,用户通过向应用程序发送电子邮件来添加新内容.用于每个用户的电子邮件地址是自定义的(例如123456@myservice.com),它是动态创建的Postfix虚拟邮箱.用户需要能够将电子邮件发送到他的自定义邮箱地址(as12145ed@myservice.com),我想处理每个传入的电子邮件,解析它的内容并使用电子邮件中的数据填充我的数据库.我尝试使用Postfix After Queue过滤器,但我真的不会在将电子邮件保存到用户虚拟邮箱文件夹后处理它.

Ced*_*ric 12

我可以想到两个可能的解决方案:

第一种可能性:您可以mailbox_command在Postfix中设置自定义.对于Postfix收到的每封电子邮件,它将调用mailbox_command配置文件中定义的电子邮件并以明文形式提供电子邮件stdin.这样,您就可以决定如何处理每封电子邮件.您必须自己解析电子邮件的标题.您可以查看Postfix文档,了解有关如何使其工作的更多信息.其他类似的应用程序procmail也可以充当mailbox_command并帮助您处理传入的邮件.

第二种可能性:使用Dovecot存储电子邮件.您无需启用Dovecot的POP/IMAP模块.但是,Dovecot附带了一个很棒的doveadm实用程序,它允许您查询邮箱并从中读取.使用doveadm,您可以自动选择上周的新电子邮件,电子邮件,阅读整个电子邮件,只删除部分邮件,删除旧邮件等.它是一个功能强大的实用程序,我在各种脚本中使用它来清除旧电子邮件或learn-as-spam为用户提供文件夹.看一下wiki 中的文档.