IMAP サーバに Courier-IMAP、MDA に maildrop、MUA に Wanderlust + Prom-WL を 使う場合の設定例です。
ふつーにインストールするとふつーには使えるはずです。
まずは、~/.mailfilter を用意します。 Prom-WL を使うためには以下の点に注意。
MAILDIR="$HOME/Maildir/"
DEFAULT="$MAILDIR"
LOCKFILE="$MAILDIR/.lock"
#cc "$HOME/.maildrop.save"
logfile "${MAILDIR}maildrop.log"
xfilter "/usr/local/bin/spamassassin"
dotlock "$LOCKFILE" {
if (/^X-Spam-Status: Yes/:h)
{
to "$MAILDIR.spam/"
}
if (/^X-ML-Name:[ \t]*([^ \t\.]+)/:h || /^List-Id:[ \t]*<?([^ \t\.@]+)/:h)
{
ML="$MAILDIR.ml.$MATCH1/"
`test -d $ML`
if ($RETURNCODE == 0)
{
to "$ML"
}
}
to "$MAILDIR"
}
あとは .forward に書くなり、fetchmail から呼ぶなり適当に。
maildrop のログの形式に合わせて、proc-folder-regexp を設定します。
それと、proc-log-list などが "/" からの絶対パスだと動作しない
*1
のを
適当に回避しました。
(let ((maildir (expand-file-name "~/Maildir/"))) (setq proc-log-list (list (expand-file-name "maildrop.log" maildir)) proc-keep-log (expand-file-name "maildrop.bak.log" maildir) proc-lock-file (expand-file-name ".lock" maildir)) (setq proc-folder-regexp (concat "File: " maildir "\\([^/ \t]*\\)/?")) (setq prom-wl-folder-prefix-alist '((imap4 . "%INBOX") (nil . "%INBOX"))))
なお、prom-wl-folder-prefix-alist を '((imap4 . "%INBOX") (nil . ".")) とすると、IMAP サーバを介さずに直接 Maildir フォルダにアクセスできる はずです。
"/flag:unread/%INBOX" などの未読フォルダを用意している場合に、 そちらをチェックするための advice です。
(defadvice prom-wl-add-check-entity-list (before unread-folder (folder) activate)
(let ((unread-folder (concat "/flag:unread/" folder)))
(when (wl-folder-search-entity-by-name unread-folder wl-folder-entity)
(setq folder unread-folder))))