* 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)