Unix メール (sendmail で受信) を Linux ディレクトリにコピーする (個別に)

Unix メール (sendmail で受信) を Linux ディレクトリにコピーする (個別に)

Fedora Linux 上のすべての新着メールをコピーして、Linux ディレクトリ (他のメール フォルダーではなく、Linux ファイル システム ディレクトリ) に保存する方法を知っている人はいますか?

私たちは配信システムとして Procmail を使用しています。多くのドキュメントを確認しましたが、コピーに関しては 2 つのパターンしか示されていません。

  1. mail.bkp に追加します - すべてのメールを 1 つのファイルに追加する理由がわかりません。
  2. すべてを /dev/null に置く -- スパムを処理するため

すべての新着メールをLinuxファイルシステムにコピー/アーカイブするための「軽量」なメカニズムが必要です。

  • /home/ユーザー名/データ/アーカイブ/mail1.x
  • /home/ユーザー名/データ/アーカイブ/mail2.x
  • /home/ユーザー名/データ/アーカイブ/mail3.x

そして、Java ディレクトリ リスナーを使用してそれらの電子メールを並列に読み取る予定です。

貴重なアドバイスをお願いします。

答え1

この問題の解決策としては、procmailrc ファイルを使用してメールのコピーを Maildir 形式で保存することが挙げられます。

Maildir は各メールを個別のファイルとして保存するため、1 つの問題が解決されます。さらに、メールをコピーすると、他の既存の場所にも送信されます。

procmailrc の上部には次の行 (または同様の行) が含まれます。

:0c:
$HOME/Maildir/

Maildirホームディレクトリにフォルダを作成する必要があります。

答え2

ディレクトリを監視するための複雑なシステムを用意するためだけにディレクトリに配信するのは、かなり面倒です。Java プログラムが標準入力を読み取ることができる場合は、そこに直接パイプするだけです。

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

関連情報