UNIXメール(sendmailで受信)をlinuxディレクトリに(個別に)コピーします


-3

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

Procmailを配信システムとして使用します。私は多くのドキュメントを見ましたが、それらはすべてコピーに関する2つのパターンのみを示しています。

  1. mail.bkpに追加-すべてのメールを1つのファイルに追加する理由がわからない?
  2. すべてを/ dev / nullに入れます-スパムを処理します

すべての新しいメールを次のようなLinuxファイルシステムにコピー/アーカイブするには、「軽量」メカニズムが必要です。

  • /home/username/data/archive/mail1.x
  • /home/username/data/archive/mail2.x
  • /home/username/data/archive/mail3.x

Javaディレクトリリスナーを使用してこれらのメールを並行して読むことを計画しているよりも。

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

回答:


2

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

Maildirは各メールを個別のファイルとして保持するため、1つの問題が解決します。また、メールをコピーすると、他の既存の場所に移動します:

procmailrcの上部付近に次の行(または同様の行)があります。

:0c:
$HOME/Maildir/

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


これを.procmailrcファイルで試しました。しかし、新しいメールが表示され、/ home / username / data / archiveにコピーされません

しかし、それはにコピーされてい/home/username/Maildir/new/ますね?

.procmailrcの私のエントリは次のようになります:0c: $/home/username/data/archive -と私はそこにコピーされた新しいメールを参照してくださいいけない

そこのドル記号は間違っており、ロックファイル(の次のコロン:0c)は不要です。変数$HOMEとリテラルの違いに注意してください/home/username (which the value of 。通常、絶対パスは$ HOME`です)。
トリプリー

あなたは正しいです、それはタイプミスです。絶対ディレクトリパスがある

0

そのディレクトリを監視する精巧なシステムを持つためだけにディレクトリに配信するのはかなり厄介です。Javaプログラムが標準入力を読み取ることができる場合は、直接入力してください。

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

私がprocmailrcからjavaを呼び出したくない理由は、明らかに、各電子メールに対してjavaを呼び出しているためです。 dirしてから多くのメールを処理します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.