dirname[, factory=rfc822.Message[, create=True]]) |
None
ならば、
MaildirMessage がデフォルトのメッセージ表現として使われます。
create が True
ならばメールボックスが存在しないときには
作成します。
factory のデフォルトが rfc822.Message であったり、
path ではなく dirname という名前であったりというのは
歴史的理由によるものです。Maildir インスタンスが他の Mailbox
サブクラスと同じように振る舞わせるためには、factory に None
を
セットしてください。
Maildir はディレクトリ型のメールボックス形式でメール転送エージェント qmail 用に 発明され、現在では多くの他のプログラムでもサポートされているものです。Maildir メールボックス中のメッセージは共通のディレクトリ構造の下で個別のファイルに保存されます。 このデザインにより、Maildir メールボックスは複数の無関係の プログラムからデータを失うことなくアクセスしたり変更したりできます。 そのためロックは不要です。
Maildir メールボックスには三つのサブディレクトリ tmp, new, cur があります。メッセージはまず tmp サブディレクトリに瞬間的に 作られた後、new サブディレクトリに移動されて配送を完了します。メールユーザ エージェントが引き続いて cur サブディレクトリにメッセージを移動し メッセージの状態についての情報をファイル名に追加される特別な"info"セクションに 保存することができます。
Courier メール転送エージェントによって導入されたスタイルのフォルダもサポートされます。 主たるメールボックスのサブディレクトリは "." がファイル名の先頭であれば フォルダと見なされます。フォルダ名は Maildir によって先頭の "." を除いて表現されます。各フォルダはまた Maildir メールボックスですがさらにフォルダを 含むことはできません。その代わり、論理的包含関係は例えば "Archived.2005.07" のような "." を使ったレベル分けで表わされます。
import mailbox mailbox.Maildir.colon = '!'
Maildir インスタンスには Mailbox の全てのメソッドに加え以下の メソッドもあります。
) |
folder) |
folder) |
folder) |
) |
Maildir で実装された Mailbox のいくつかのメソッドには特別な注意が 必要です。
message) |
key, message) |
arg) |
) |
) |
) |
) |
key) |
参考:
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。