Maildir と IMAP

はじめに

通常の sendmail は /var/(spool/)mail/ に1ユーザ1ファイルで保存する。 非常に大きなファイルになり,POP サーバがこれにアクセスしようとすると,システムが重くなり,ファイルも壊れやすい。 そこで qmail は ~/Maildir/ 以下のサブディレクトリに1メッセージ1ファイルで保存する。 Postfix は sendmail の方式(mbox 方式)と qmail の方式(Maildir 方式)を簡単に切り替えられる。

Maildir とサブディレクトリは以下のようにして自分で作れる:

mkdir ~/Maildir
mkdir ~/Maildir/cur
mkdir ~/Maildir/tmp
mkdir ~/Maildir/new
chmod -R 700 ~/Maildir

mbox 形式から Maildir 形式に変換するには mbox2maildir 等というスクリプトがあるようだ。

Postfix で Maildir

/etc/postfix/main.cf で home_mailbox = Maildir/ だけを生かす:

# home_mailbox = Mailbox
home_mailbox = Maildir/
# mail_spool_directory = /var/mail
# mail_spool_directory = /var/spool/mail
# mailbox_command = /usr/bin/procmail

これで postfix reload する。

procmail で Maildir

procmail を Maildir 対応にするには次のように変える。

MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
JUNK=$HOME/Mail/junk

:0
~* パターン
$JUNK/.

必ずゴミ箱のディレクトリ名の最後に /. を付ける。

Mew で Maildir

Mew は Emacs 上の有名な MUA。 Mew が取り込んだメッセージは ~/Mail/ 以下のサブディレクトリに入る。

Mew をメールサーバ上で使う場合,次のようにするだけで ~/Maildir からメールが取り込める。

(setq mew-mailbox-type 'mbox)
(setq mew-mbox-command "incm")
(setq mew-mbox-command-arg "-d /home/okumura/Maildir") ;; 私の場合

Courier-IMAP

ネットワーク越しにメールを取り込むには,Maildir では qpopper が使えない。 ここ に qpopper を Maildir と MySQL 対応にするパッチがあるが,以下では Courier-IMAP を使う。 これは POP3 にも対応するが,もっと Maildir 指向の IMAP というプロトコルが使える。

Vine Plus に RPM が入っているが,ここでは過去のしがらみからソースからインストールする。 ソースは ここ からダウンロードできる。

コンパイルは必ず通常ユーザで。 Red Hat 系では configure に --with-redhat を付けないと「rpm を使え」と怒られる。 Vine Linux 3.x では gdbm-devel, openssl-devel パッケージが必要。

tar xvjf courier-imap-3.0.8.tar.bz2
cd courier-imap-3.0.8
./configure --without-ipv6 --without-authldap ?
  --enable-unicode=iso-2022-jp,iso-8859-1,utf-8
make
make check

インストールは root で。 /usr/lib/courier-imap に入る。 /etc/pam.d/{imap,pop3} を上書きするので注意。

su
make install-strip (駄目なら make install)
make install-configure
cp courier-imap.sysvinit /etc/rc.d/init.d/imapd

Maildir を作るためには /usr/lib/courier-imap/bin/maildirmake ~/Maildir とすればよい。

/usr/lib/courier-imap/bin/maildirmake /etc/skel/Maildir しておくと便利。

imapd と pop3d を動かしたいなら,/usr/lib/courier-imap/etc/{imapd,pop3d} の最後のほうにある NO を YES に変える。

cd /etc/rc.d/init.d
chmod 755 imapd
chkconfig --add imapd
./imapd start

Mew で IMAP

Mew でも IMAP でメールを読むことができる:

(setq mew-proto "%")
(setq mew-imap-user "okumura")
(setq mew-imap-server "localhost")

これで %inbox を読めばよい。

Wanderlust

Wanderlust は Emacs 上の IMAP 対応の MUA。 http://www.dnsbalance.ring.gr.jp/archives/elisp/wl/ でミラー。

make check して APEL,FLIM,SEMI がないと言われたら,これらを先にインストールする。 Wanderlust も含め,インストールは make,make install でできる。

samples/ja/ にある dot.何々 を .何々 と改称し,ホームディレクトリに入れて,適宜編集する。 また,~/.wl の冒頭にあるように .emacs.el を修正する。

biff

YaTeX で有名な広瀬さんの biff.el を使えばいい。

(load "biff")
(setq biff-account-alist
      '(("okumura" (server . "~/Maildir") (user) (proto . maildir))))
(setq biff-check-interval 60)
(biff-background-all)

Last-modified: 2005-11-05 (土) 15:34:02 (5972d)