将 unix 邮件(由 sendmail 接收)复制到 linux 目录(单独)

将 unix 邮件(由 sendmail 接收)复制到 linux 目录(单独)

是否有人知道如何复制所有新到达的电子邮件(在 Fedora Linux 上)并将其存储在 Linux 目录中(不是在其他邮件文件夹中,而是在 Linux 文件系统目录中)?

我们使用 Procmail 作为传送系统。我查看了许多文档,但它们都只显示了两种有关复制的模式:

  1. 附加到 mail.bkp——不确定为什么将所有邮件附加到一个文件中?
  2. 将所有内容放入/dev/null——处理垃圾邮件

我需要有一种“轻量级”机制来将所有新邮件复制/存档到 Linux 文件系统,例如

  • /home/用户名/数据/存档/mail1.x
  • /home/用户名/数据/存档/mail2.x
  • /home/用户名/data/archive/mail3.x

然后我计划使用 Java 目录监听器来并行读取这些电子邮件。

请给我您宝贵的建议。

答案1

解决您的问题的方法是使用您的 procmailrc 文件将邮件的副本保存为 Maildir 格式。

Maildir 将每封邮件保存为单独的文件,这解决了您的一个问题。此外,如果您复制邮件,它仍将转到其他现有位置:

你的 procmailrc 顶部附近会有以下内容(或类似的行):

:0c:
$HOME/Maildir/

您仍然需要Maildir在您的主目录中创建该文件夹。

答案2

仅向目录传递信息,然后让复杂的系统来监控该目录,这相当不方便。如果您的 Java 程序可以读取标准输入,则只需直接通过管道传输到该目录即可。

:0
| /path/to/java -crash -boom -bang -coredump=always

相关内容