私はfetchmailを使用して電子メールをダウンロードし、配信にprocmailをmdaとして使用しています。 mhで使用するために配信したいのですが、procmailはmhが理解できない方法で配信しているようです。サブディレクトリnew/cur /とtmp /を取得し、ファイルはnew /に1484079635.67044_0のような名前が付けられています。ホスト名
これらのファイルの名前を整数に変更して1つのディレクトリに移動すると、mhはそれらを正常に取得します。これを自動的に実行できるようにし、最後のfetchmailの実行からのシーケンスを維持したいと思います。
fetchmail config:
set logfile /path/to/fetchmail.log
set no bouncemail
poll "imap.gmail.com"
protocol imap
username "USER"
password "PASSWORD"
fetchall
keep
ssl
mda "/path/to/procmail -m /path/to/.procmailrc"
procmail config:
LOGFILE=$HOME/procmail.log
VERBOSE=on
DELIVERED=yes
MAILDIR=$HOME/Mail/.
DEFAULT=inbox/
あなたの_DEFAULT=inbox/
_は、メールをMaildirメールボックス(サブディレクトリcur
、new
、およびtmp
)に配信する必要があると言っています。このメールボックスは、MAILDIR
変数に従って_$HOME/Mail/.
_にあります。
代わりにMHメールボックスに配信するには、DEFAULT
を_inbox/.
_に設定する必要があります(末尾のドットに注意してください)。 MAILDIR
は_$HOME/Mail
_に設定できます。
要するに:
/
_があります:Maildirメールボックス/.
_があります:MHメールボックスprocmailrc(5)
マニュアルを参照してください。
受け入れられた答えは正しいですが、私はいくつかのコメントと増幅を追加したいと思います。
あなたの質問は、MHとMaildirが1つの同じフォーマットであると信じていることを示唆しているようです。ではない; MHは従来、フォルダごとに1つのディレクトリを使用していましたが、ご存知のとおり、Maildirは3つのサブディレクトリを使用しています。最初はnew
に配信され、次にtmp
に移動し、最後にcur
に移動します。
Procmailは、両方への配信をネイティブにサポートしています。ただし、MHの場合、ターゲットディレクトリに直接配信するだけでは、MHのいくつかの便利な機能がバイパスされます。代わりに、rcvstore
プログラムにパイプすることができます。これにより、MHシステムとの全体的な統合が向上します(関連する制御ファイルとキャッシュファイルが更新されます)。
これを実現するためにDEFAULT
を直接設定することはできません。次のような単純な.procmailrc
が必要です。
:0:foldername.lock
| rcvstore +foldername # from memory it wants a plus, is that right?
これは、名前付きロックファイルをロックする無条件の配信アクションです。
このアプローチは、他の多くのフォルダー形式に一般化されます。 ProcmailはMBX、Dovecotのdbox
、およびその他のさまざまな形式をネイティブにサポートしていませんが、メッセージをパイプできるその形式の配信プログラムがあれば、それらに配信できます。
この回答は基本的に http://www.iki.fi/era/procmail/mini-faq.html#appendix-folders からの情報を繰り返します。