From god@heaven.af.mil Sat Jan 3 01:05:34 1996 Return-Path: <god@heaven.af.mil> Delivered-To: djb@silverton.berkeley.edu Date: 3 Jan 1996 01:05:34 -0000 From: God <god@heaven.af.mil> To: djb@silverton.berkeley.edu (D. J. Bernstein) How's that mail system project coming along?最後の行は、 完全に、スペースやタブなども含まない、空の行です。 空行は、 メッセージ中の他の場所でも出現するかもしれない点に注意してください。
From_ 行は、次の形式で現れます。
From envsender date moreinfo |
ここで、
From_ 行と空行の間は、 qmail-header (5) で記述されているように、 RFC 822 形式中のメッセージで、 後述のように、 >From クオーティングの対称となります。
プログラムは、最初に、 メッセージの封筒の送信者と現在の日付を与えられた From_ 行を生成します。 返信メッセージのように封筒の送信者が空の場合、 プログラムは、代わりに、MAILER-DAEMON を使用します。 封筒の送信者が空白、タブ、改行などを含む場合、 プログラムは、それらをハイフン(-)で置き換えます。
プログラムは、 各行に >From クオーティングを適用しながら、 メッセージを複写します。 >From クオーティングは、 クオーティングされた行は From_ 行ではないことを保証します。 プログラムは、すべての From_ 行の前に、> を付けます。 >From_ line、>>From_ line、>>>From_ line 等など。
プログラムは、最後に、 空行をメッセージに追加します。 メッセージの最後の行が不完全な行であった場合、 プログラムは、2つの改行を書き込みます。 さもなければ、1つの改行を書き込みます。
読み込みプログラムが、メッセージを発見すると、 From_ 行を基に、 おそらく訛っている封筒の送信者と、 配送日付を抜き出します。 読み込みプログラムは、その後、 次の From_ 行またはファイルの終わりのどちらか早い方まで読み込みます。 最後の空行を取り除き、 >From_ 行や >>From_ 行などのクオーティングを取り除きます。 この結果、RFC 822 メッセージとなります。
最初の mboxo 形式は、 From_ 行だけをクオートし、>From_ 行はくオートしません。 結果として、 次の例では、 最初のメッセージでクオートされていたかどうかを判断することができません。
From: djb@silverton.berkeley.edu (D. J. Bernstein) To: god@heaven.af.mil >From now through August I'll be doing beta testing. Thanks for your interest.mboxrd の読み取りプログラムは、 クオーティングをいつでも取り去ります。
mboxcl 形式は、mboxo 形式に似ていますが、 メッセージ中に、 バイト数を持つ Content-Length を含みます。 mboxcl 形式は、mboxcl 形式に似ていますが、 >From のクオーティングを持ちません。 これらの形式は、 SVR4 のメール・プログラム(mailer)により使用されます。 mboxcl2 は、 mboxrd 読み取りプログラムにより、 安全に読み込まれることができません。
From_ 行にある配送日付は、タイム・ゾーンを特定しません。 mbox ファイルがあるタイム・ゾーンから他のタイム・ゾーンに、 安全に輸送されることを可能にするため、 qmail-local (8) は、いつも、GMT で配送日付を生成します。
空でない mbox ファイル上で、
幾つかのメールの読み取りプログラムは、 どのメッセージが読まれたかを識別するために、 メッセージ中に Status フィールドを置きます。