Maildir調査
Maildir概要
Maildirとは,メール受信用のファイル・ディレクトリ構造.ファイルロックの必要がない事が大きな特徴.qmailで初めてサポートされた.
サブディレクトリ
- tmp
- new
- cur
ファイルの内容は,RFC822に従う.">From" 行などのような特別考慮しなければならないエンコード方式はない.
ファイルの構造
ファイル属性
そのメッセージの到着日時は,mtimeで識別する.
ディレクトリの構造
tmp
メールの配送を受ける際,最初にファイルが作成されるディレクトリ.メールの配送を受ける際,メール送信プログラムは2秒ごとにtmp/time.pid.hostファイルの作成を試み,成功したらnew/time.pid.hostからリンクを張る.これによりファイルロックを使用することなく安全にメールの配送を行う.
メールの配送処理が終わったら,tmp/time.pid.hostファイルはunlinkする.
Courier-IMAPDによるMaildirの拡張(フォルダ)
Courier-IMAPDはオリジナルのMaildirに対しいくつか拡張を行っている.フォルダ機能はそのひとつ.詳細はCourier-IMAPDに付属するmaildirmake(1)のニュアルを参照のこと.
たとえば,/some/imapd/folderという階層のIMAPフォルダを作成したい場合,以下のようにすればよい.
# maildirmake -f some.imapd.folder ${HOME}/Maildir
このコマンドを発行することで,${HOME}/Maildir/some.imapd.folder以下に,cur, new, tmpといったディレクトリが作成される.
入れ子構造になっているフォルダを作成するには "." (ピリオド)で区切って指定すればよい.作成されるディレクトリ自体は入れ子構造にはならない.