Courier-IMAPでの共有メールボックス
仕事で使用しているメール環境の改善の一環でinfo@example.comのような代表メールの確認方法を検討。
代表メールはもう4年半も貯めているので件数が多く(15,000件ほど)、動作に支障が出てきたので整理をもくろんでいる。とりあえず月別に分類し、整理する予定。整理にはnamazuに付属しているmailutime.plを改造する。改造はほぼ終わったが、今度は表示方法を考える。
現在は自作PHPで表示させているが、これの使用を止めたい(階層表示に対応するのが面倒)。IMAPであれば共有メールボックスが使えるはずだったので、動作の確認。メールサーバーにはCourier-IMAPを使用する。
共有メールボックスの作成方法
共有メールボックスは
$ mkdir ~/Maildir/share // 1
$ maildirmake.courier -s read -f test Maildir/share // 2
で作成できる。コマンドの意味は以下の通り。
- Maildirの下にshareディレクトリを作成。Maildirの直下に共有を作成すると、共有一覧に.Trash等のディレクトリも公開されてしまうため公開用のディレクトリを別に作成(もちろんMaildir以外の場所でも可だが、その場合は-SオプションでMaildirを作る必要がある)。
- -sで読取のみ、-fで公開名を指定。
公開用のディレクトリを作成後に以下のファイルを作成し、公開する。
# vi /etc/courier/maildirshared
share /home/info/Maildir/share
これで公開用メールボックスの出来上がり。
クライアント側の参照状況
尚、クライアント側の検証は以下の通り
- Apple Mail.app
INBOXとshareの同時参照はできないっぽいので共有メールボックスの利用は無理? - Thunderbird
一回目のshareの参照時は下層のフォルダも購読してくれるが、キャッシュされるのかその後フォルダを追加しても明示的に購読しないと追加されない。面倒な場合は閲覧側のMaildir/shared-foldersを削除すると初期化される。 - Ilohamail
Thunderbirdと違い、ログインの度にshare以下のフォルダを購読してくれる。一番楽。
月が替わったときに、クライアント全てに購読フォルダを選択させなおすのも大変なので、Ilohamailを使用するのが楽かな?