將unix郵件(由sendmail接收)複製到linux目錄(單獨)

將unix郵件(由sendmail接收)複製到linux目錄(單獨)

有誰知道一種方法來複製所有新到達的電子郵件(在 Fedora Linux 上),儲存在 Linux 目錄中(不是在其他郵件資料夾中,而是在 Linux 檔案系統目錄中)?

我們使用 Procmail 作為傳送系統。我查看了可能的文檔,但它們都只顯示了兩種有關複製的模式:

  1. 附加到 mail.bkp — 不確定為什麼要將所有郵件附加到一個檔案?
  2. 將所有內容放在 /dev/null 中——以處理垃圾郵件

我需要有「輕量級」機制來將所有新郵件複製/存檔到 Linux 檔案系統,例如

  • /home/使用者名稱/data/archive/mail1.x
  • /home/使用者名稱/data/archive/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

相關內容