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

Bor*_*vić 6 postfix

我正在构建 Web 应用程序,用户通过向应用程序发送电子邮件来添加新内容。每个用户使用的电子邮件地址是自定义的(例如 123456@myservice.com),并且它是动态创建的 Postfix 虚拟邮箱。

用户需要能够将电子邮件发送到他的自定义邮箱地址 (as12145ed@myservice.com),我想处理每封收到的电子邮件,解析其内容并用电子邮件中的数据填充我的数据库。

我尝试使用Postfix After Queue 过滤器,但我真正想要的是将电子邮件保存在用户的虚拟邮箱文件夹中后进行处理。

Fra*_*sen 6

我会采取另一种方法来解决这个问题。

我不会创建单独的邮箱,而是创建一个通用地址,然后通过 /etc/aliases 将其发送到一个脚本,我将在其中进行所有解析和存档。当您不打算在邮箱中存储电子邮件时,没有理由使用邮箱,这是一个巨大的开销。

在 /etc/aliases 中,您可以输入此条目

usermail: "|/path/to/myscript.pl" 
Run Code Online (Sandbox Code Playgroud)

然后所有电子邮件将直接发送到 myscript.pl,您可以在那里处理它。


小智 1

我会使用 POP3/IMAP 轮询邮箱,下载邮件并处理它们(而不是尝试将某些内容集成到 Postfix 堆栈中)。如果您的解析系统崩溃或需要离线一段时间,这也将为您提供一定程度的容错能力。