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

时间:2011-03-14 13:21:38

标签: postfix-mta

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

1 个答案:

答案 0 :(得分:12)

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

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

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