通常の 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 等というスクリプトがあるようだ。
/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 対応にするには次のように変える。
MAILDIR=$HOME/Maildir DEFAULT=$MAILDIR/ JUNK=$HOME/Mail/junk :0 ~* パターン $JUNK/.
必ずゴミ箱のディレクトリ名の最後に /. を付ける。
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") ;; 私の場合
ネットワーク越しにメールを取り込むには,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 でメールを読むことができる:
(setq mew-proto "%") (setq mew-imap-user "okumura") (setq mew-imap-server "localhost")
これで %inbox を読めばよい。
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 を修正する。
YaTeX で有名な広瀬さんの biff.el を使えばいい。
(load "biff") (setq biff-account-alist '(("okumura" (server . "~/Maildir") (user) (proto . maildir)))) (setq biff-check-interval 60) (biff-background-all)