Exim:将邮件保存到唯一文件


Exim: save mail to unique file

简短版本:我需要将邮件从Exim保存到网络目录,但理想情况下,我想将它们保存为unqiue文件,而不是附加到邮箱中。

长版本:我有一个解析邮件的PHP脚本。目前,它与邮件服务器位于同一框中,允许我将邮件直接传送到PHP脚本 - 很容易。

很快,我的邮件服务器将托管在单独的(通过NFS连接)服务器上。我最初的计划是简单地创建一个指向邮箱的符号链接,并安排脚本通过 cron 解析邮件,在解析邮件后删除邮件。

问题是邮件以mbox格式存储,即附加到单个文件中。由于 PHP 无法通过 NFS 可靠地使用文件锁定,我担心我的脚本会丢弃在执行过程中到达的新邮件。

那么 - 我可以让 Exim 将每封邮件保存到单独的文件中,而不是将邮件写入单个文件吗?

感谢您的任何建议。

简而言之,您对邮箱使用 maildir 而不是 mbox。

看看这个关于 Exim4 和 Maildir 设置的操作方法。

您还可以执行其他操作,即使用 PHP IMAP 扩展名访问本地邮件服务器。这样,每封邮件也将独立解析,并允许您在不更改邮件服务器配置的情况下访问单个文件。