Home Top Up


qmail reference

mbox (5)

(file containing mail messages)


[概要]

メール・メッセージを保存する mbox ファイルについて。

[説明]

メール・メッセージを保存するための最も共通的な形式は、mbox 形式です。 mbox は、ゼロ個以上のメール・メッセージを含む、1つのファイルです。

■ MESSAGE FORMAT

mbox 形式で符号化されたメッセージは、 From_ 行で始まり、 一連の非 From_ 行が続き、 空行で終わります。 From_ 行は、 F、r、o、m、空白 などの文字で始まるような、 すべての行を意味します。 最後の行は、 完全に、スペースやタブなども含まない、空の行です。 空行は、 メッセージ中の他の場所でも出現するかもしれない点に注意してください。

From_ 行は、次の形式で現れます。

記述例

From envsender date moreinfo

ここで、

From_ 行と空行の間は、 qmail-header (5) で記述されているように、 RFC 822 形式中のメッセージで、 後述のように、 >From クオーティングの対称となります。

■ 配送方法 (HOW A MESSAGE IS DELIVERED)

ここでは、 プログラムがどのようにメッセージを mbox ファイルに追加するかを説明します。

プログラムは、最初に、 メッセージの封筒の送信者と現在の日付を与えられた From_ 行を生成します。 返信メッセージのように封筒の送信者が空の場合、 プログラムは、代わりに、MAILER-DAEMON を使用します。 封筒の送信者が空白、タブ、改行などを含む場合、 プログラムは、それらをハイフン(-)で置き換えます。

プログラムは、 各行に >From クオーティングを適用しながら、 メッセージを複写します。 >From クオーティングは、 クオーティングされた行は From_ 行ではないことを保証します。 プログラムは、すべての From_ 行の前に、> を付けます。 >From_ line、>>From_ line、>>>From_ line 等など。

プログラムは、最後に、 空行をメッセージに追加します。 メッセージの最後の行が不完全な行であった場合、 プログラムは、2つの改行を書き込みます。 さもなければ、1つの改行を書き込みます。

■ メッセージの読み込み方法 (HOW A MESSAGE IS READ)

読み込みプログラム(reader)は、 mbox ファイルについて From_ 行を順番に捜します。 すべての From_ 行は、 メッセージの開始位置を表します。 読み込みプログラムは、 ファイルの先頭を除くあらゆる From_ 行が、 空行の次にある事実の優位性を利用してはいけません。

読み込みプログラムが、メッセージを発見すると、 From_ 行を基に、 おそらく訛っている封筒の送信者と、 配送日付を抜き出します。 読み込みプログラムは、その後、 次の From_ 行またはファイルの終わりのどちらか早い方まで読み込みます。 最後の空行を取り除き、 >From_ 行や >>From_ 行などのクオーティングを取り除きます。 この結果、RFC 822 メッセージとなります。

■ 一般的な mbox の異形 (COMMON MBOX VARIANTS)

多くの mbox 形式の 異形(variant) があります。 上記の異形とは、 1995年6月に Rahul Dhesi 氏によって広められた、 mboxrd 形式のことです。

最初の mboxo 形式は、 From_ 行だけをクオートし、>From_ 行はくオートしません。 結果として、 次の例では、 最初のメッセージでクオートされていたかどうかを判断することができません。

mboxrd の読み取りプログラムは、 クオーティングをいつでも取り去ります。

mboxcl 形式は、mboxo 形式に似ていますが、 メッセージ中に、 バイト数を持つ Content-Length を含みます。 mboxcl 形式は、mboxcl 形式に似ていますが、 >From のクオーティングを持ちません。 これらの形式は、 SVR4 のメール・プログラム(mailer)により使用されます。 mboxcl2 は、 mboxrd 読み取りプログラムにより、 安全に読み込まれることができません。

■ 仕様化されていない詳細 (UNSPECIFIED DETAILS)

mbox ファイルについて、多くのロック機構があります。 qmail-local (8) は、flock を持っているシステムでは flock を使用します。 持っていない場合は、lockf を使用します。

From_ 行にある配送日付は、タイム・ゾーンを特定しません。 mbox ファイルがあるタイム・ゾーンから他のタイム・ゾーンに、 安全に輸送されることを可能にするため、 qmail-local (8) は、いつも、GMT で配送日付を生成します。

空でない mbox ファイル上で、

幾つかのメールの読み取りプログラムは、 どのメッセージが読まれたかを識別するために、 メッセージ中に Status フィールドを置きます。

[関連項目]

maildir (5)
qmail-header (5)
qmail-local (8)

[マニュアル・ページ]

日本語、 英語

▲ Top


(2003/02/09)