procmail で Maildir 振り分け時に imap の状態を既読にする設定
Posted by yoosee on Debian at 2008-01-11 12:00 JST1 Re: IMAP filtering, how to mark my own messages read
メールを procmail で imap 用 Maildir フォルダに振り分ける際、一部メールに関しては最初から既読に出来ないものかと調べてみたら、Re: IMAP filtering, how to mark my own messages read と言う方法が見つかった。Maildir ではファイル名で未読・既読状態等を管理しており、基本的には cur/ ディレクトリに :2,S と言う名前で終わっていれば既読とみなされる。そこで
:0 * conditions { foldername=whatever :0c .$foldername/ # stores in .$foldername/new/ :0 * LASTFOLDER ?? /\/[^/]+$ { tail=$MATCH } TRAP="mv $LASTFOLDER .$foldername/cur/$tail:2,S" HOST }のようなルールで、特定 conditions の場合に mv コマンドでファイル名を強制的に書き換えてしまう TRAP (procmail 実行終了時に実行される処理) を仕込む。直接 new/ から cur/ に mv をかけるあたりも Maildir の思想を完全に否定しているし、結構乱暴な方法ではあるけど、普通に使う分にはこれで問題になることはあまり無さそうなので、まぁ用には足るんじゃなかろうか。
procmail 以外の振り分けソフトならもっとスマートな方法があるだろうか?