電柱日報

日々の由無し事

Maildir

メールサーバに届いたメールを保存する方式として、代表的なところではsendmail時代から使われているmbox形式と、qmailなどが採用しているMaildir方式があります。うちの職場では職場のサーバのMTAがsendmailからqmailへ移行した後も、ユーザの利用環境を維持するためにMaildir方式ではなくそれまで通りmbox形式を使ってきました。
このmbox形式、届いたメールを一つのMailboxファイルにどんどん連結していくのですが、MUAPOP3などを利用してアクセスすると、ロックをかける際にMailboxファイルそのものをコピーするんですよ。ユーザがコマメにサーバからメールを削除してくれれば、Mailboxファイルのサイズもそんなに大きくなりませんし問題も無いのですが、最近事務方が考えなしに数十MBクラスの添付ファイルを、職場内メーリングリストに流しやがるようになりまして、おりしもウィルスメールが大量に届きだしたこともあり、100MB近いMailboxファイルを持つユーザが出てきました。
あまり常識はずれなサイズのユーザには個別に警告を出してますが、それでも100MBのMailboxファイルがあると、そのユーザがメールを受信するたびに100MBのロックファイルが出来るという非常に負荷の高い処理が発生します。しかも、メールを溜め込むユーザに限って1分毎にメールチェックにきたりいたしましてIOの付加が手に負えなくなってきました。
つことで、メールの保存方式をmbox形式からMaildir形式に変更いたしました。
Maildir形式だとメール保存用のディレクトリ内に、届いたメールが一つ一つ別のファイルとして保存されます。一々サーバに届いてるメール全部をコピーしてロックファイル作ったりしませんのでサーバにも優しいですし、サイズの馬鹿でかいメールを受け取って、PCのメーラでうまく読み込めない時も、問題となっているファイルだけ削除すればよいので管理も楽チンです。
で、Maildir形式に変更すると言っても、ユーザからすればPOP3でアクセスすること自体は変わらないんで利用環境には影響はないだろうと思っていたのですが、サーバにメールを残したり、サーバ上のメールを削除したりする辺りで、各メーラの細々とした使用が出てきて検証にえらく時間をとられてしまいました。
職場のPCにゃ、現在6種類のメーラがインストールされてます。