7.3.1.2 mbox

クラス mbox( path[, factory=None[, create=True]])
mbox 形式のメールボックスのための Mailbox のサブクラス。 パラメータ factory は呼び出し可能オブジェクトで (バイナリモードで開かれているかのように振る舞う)ファイル風メッセージ表現を 受け付けて好みの表現を返すものです。factoryNoneならば、 mboxMessage がデフォルトのメッセージ表現として使われます。 createTrue ならばメールボックスが存在しないときには 作成します。

mbox 形式は Unixシステム上でメールを保存する古くからある形式です。 mbox メールボックスでは全てのメッセージが一つのファイルに保存されており それぞれのメッセージは "From " という5文字で始まる行を先頭に付けられています。

mbox 形式には幾つかのバリエーションがあり、それぞれオリジナルの形式にあった欠点を克服すると 主張しています。互換性のために、mbox はオリジナルの(時に mboxo と呼ばれる) 形式を実装しています。すなわち、Content-Length: ヘッダはもしあっても 無視され、メッセージのボディにある行頭の "From " はメッセージを保存する際に ">From " に変換されますが、この ">From " は読み出し時にも "From " に変換されません。

mbox で実装された Mailbox のいくつかのメソッドには特別な注意が 必要です。

get_file( key)
mbox インスタンスに対し flush()close() を呼び出した 後でファイルを使用すると予期しない結果を引き起こしたり例外が送出されたりすることがあります。

lock( )
unlock( )
3種類のロック機構が使われます -- ドットロッキングと、もし使用可能ならば flock()lockf() システムコールです。

参考:

qmail の mbox man ページ
mbox 形式の仕様および種々のバリエーション
tin の mbox man ページ
もう一つの mbox 形式の仕様でロックについての詳細を含む
Configuring Netscape Mail on Unix: Why The Content-Length Format is Bad
バリエーションの一つではなくオリジナルの mbox を使う理由
"mbox" is a family of several mutually incompatible mailbox formats
mbox バリエーションの歴史

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。