Wanderlustなページもどうぞ。 私の特殊!?な設定例などを載せています。
Latest Version: Prom-WL 2.7.0 (2001.9.8)
Prom を Wanderlust に対応させたものです。
procmail により振り分けられたメールを効率よく読むためのフロントエンドパッケージです。
Wanderlust にはもともと全てのフォルダや指定したグループに 新規メールがないか check する機能があります。 しかしながら,毎回全てのフォルダを check するには時間がかかるし, 特定のグループのみをcheckするにしてもやはり無駄が生じます。 そこで,procmail のログをcheckして,新規メールがあるフォルダのみ check するようにすれば効率よく新規メールの check ができます。
従って,Prom-WL では procmail のログを調べて check すべきフォルダを Wanderlust に知らせるようにしているだけ(*1)です。
最後に,余談ですが,Prom-WL では wl の関数の使用している個所が Prom-Mew に比べて格段に少ないため, Wanderlust の変更の影響を受けにくいです。 よって,もしかするとこのままずっとバージョンアップしないかも知れません :-) とか書きながらやはり細々とバージョンアップしてます(汗)
prom-wl.el を load-path のある場所にコピーしてロードします。 実行方法は次の2通りがあります。
M-x prom-wl で起動する。
1. ではログがない場合は一切フォルダをチェックしません。
2. ではログがなくても常に prom-wl-auto-check-folder-name
で指定したフォルダをチェックします。
デフォルトでは wl-default-folder が定義されています。
また,1回目の起動時では prom-wl-init-auto-check-folder-name
で指定したフォルダをチェックしますが,
デフォルトは nil なので全てのフォルダをチェックすることになります。
imap4 上にある procmail のログも処理できます。 この機能を使うのはごく単純に,
(setq proc-log-list (list "%Mail/from-log"))
と,imap4 のフォルダを設定するだけです。 もしログが "Folder inbox/2" となっていれば,"%#mh/inbox" にメールが 来たものとしてチェックするようになります(デフォルトの設定)。
また,procmail のログを取得する方法には,2通りがありますが,詳しくは prom-wl-usage.jis の変数 prom-wl-imap4-read-log-func を参照下さい。 他に imap4 に関係する変数には prom-wl-folder-prefix-alist がありますので, あわせて見ておいてください。
現在,下記の問題がありますが仕様とさせて頂きます。
prom-wl で新規メールをチェック後, フォルダに移動するまでに再び同じフォルダにメールが到着する場合がある。 すると次に prom-wl を起動したとき,procmail のログはあるのに,wl の folder mode では1通も新規メールがない状態になる。 これは,wl はフォルダに移動するときに必ず新規メールをチェックするためである。
imap4 への対応は,UW IMAP-2000 版でのみ動作確認をしています。 Cyrus版の imapd では動作しないかもしれません。
また,procmail との排他(ロック)処理も十分なテストが行われておらず,不 具合があるかもしれません。つまり,新着メールがあるのにそのフォルダをチェッ クしない可能性もあるため,定期的に全フォルダ(または全imapフォルダ)をチェッ クすることをお勧めします。
その他の問題として,imap 経由で procmail のログを取得すると,先頭の "From " 行が取得できません(メッセージの Envelope From とみなされるため)。 しかし,Wanderlust でのチェックには全く必要のない情報ですので,ログ解析 前にダミーの "From ????" をつけています。そのため,proc-keep-log で指定 したログには "From ????" が保存されてしまいますが,これはバグではありま せん。
何といっても,procmail かそれ相当のメールを振り分けるソフトウェアを使用していることが前提となります。
また,ロックを行うために,procmail のパッケージに含まれる
lockfile を使用します。
もし,lockfile がなければ
ln を使ってロックを実現しますので,Prom-WL の設定を変更してください。
Prom-WL が必要とする外部プログラムはこのロック処理を行う lockfile か ln だけです。
また,Wanderlust も当然ながら必要です。 次の Wanderlust で動作を確認しています。
最後に,当たり前ですが Emacs も必要です。 現在は以下の Emacs での動作を確認しています。
最後に,私が使用している設定を示しておきます。 proc-log-list や proc-keep-log など基本的なものは Prom-Mew と同じですが, 設定できる変数は大幅に少なくなっています。
ここで,freebsd-users-jp ML は digest で読んでいるので, それをシェルスクリプトで直接フォルダに展開しています。 だから procmail のログには残らないので,prom-wl-check-folders に指定して 調べるようにしています。
;;; @ Prom-WL (procmail reader with Wanderlust)
;;;
(setq proc-log-list (list "~/Mail/from-log")
proc-keep-log "~/Mail/listlog"
prom-wl-keep-log-max-size 20000
prom-wl-get-new-mail-optional-method 'prom-wl-check-list-folders
prom-wl-check-folders '("+ml/freebsd-users-jp")
)