* Maildir と IMAP [#n0b6dfdc]

** はじめに [#uf4c41d4]

通常の 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 [#x58505b3]

/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 [#m41bbe04]

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

 MAILDIR=$HOME/Maildir
 DEFAULT=$MAILDIR/
 JUNK=$HOME/Mail/junk
 
 :0
 ~* パターン
 $JUNK/.

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

** Mew で Maildir [#hebc6f73]

[[Mew:http://www.mew.org/]] は 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 [#p1345833]

ネットワーク越しにメールを取り込むには,Maildir では qpopper が使えない。
[[ここ:http://asteroid-b612.org/software/]]
に qpopper を Maildir と MySQL 対応にするパッチがあるが,以下では
[[Courier-IMAP:http://www.courier-mta.org/imap/]]
を使う。
これは POP3 にも対応するが,もっと Maildir 指向の IMAP というプロトコルが使える。

Vine Plus に RPM が入っているが,ここでは過去のしがらみからソースからインストールする。
ソースは
[[ここ:http://www.courier-mta.org/download.php#imap]]
からダウンロードできる。

コンパイルは必ず通常ユーザで。
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 [#la89a151]

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

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

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

** Wanderlust [#ue6b03b8]

[[Wanderlust:http://www.gohome.org/wl/]] は Emacs 上の IMAP 対応の MUA。
http://www.t.ring.gr.jp/archives/elisp/wl/ でミラー。
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 [#l6830698]

YaTeX で有名な広瀬さんの
[[biff.el:http://www.gentei.org/~yuuji/software/biff-el.html]]
を使えばいい。

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