7.3.2.5 MMDFMessage

クラス MMDFMessage( [message])
MMDF 固有の動作をするメッセージ。引数 messageMessage のコンストラクタと同じ意味を持ちます。

mbox メールボックスのメッセージと同様に、MMDF メッセージは送り主のアドレスと配送日時が 最初の "From " で始まる行に記録されています。同様に、メッセージの状態を示すフラグは 通常 Status: および X-Status: ヘッダに収められています。

よく使われる MMDF メッセージのフラグは mbox メッセージのものと同一で以下の通りです:

フラグ 意味 説明
R 既読(Read) 読んだ
O 古い(Old) 以前に MUA に発見された
D 削除(Deleted) 削除予定
F フラグ付き(Flagged) 重要だとマークされた
A 返答済み(Answered) 返答した

"R" および "O" フラグは Status: ヘッダに記録され、 "D"、"F"、"A" フラグは X-Status: ヘッダに記録されます。 フラグとヘッダは通常記述された順番に出現します。

MMDFMessage インスタンスは mboxMessage インスタンスと同一の 以下のメソッドを提供します:

get_from( )
MMDF メールボックスのメッセージの開始を示す "From " 行を表わす文字列を返します。 先頭の "From " および末尾の改行は含まれません。

set_from( from_[, time_=None])
"From " 行を from_ にセットします。from_ は先頭の "From " や 末尾の改行を含まない形で指定しなければなりません。利便性のために、time_ を指定して適切に整形して from_ に追加させることができます。time_ を指定する場合、それは struct_time インスタンス、time.strftime() に渡すのに適したタプル、または True (この場合 time.gmtime() を使います)のいずれかでなければなりません。

get_flags( )
現在セットされているフラグを特定する文字列を返します。メッセージが規定された形式に 準拠しているならば、結果は次の順に並べられたゼロまたは1回の "R"、 "O"、"D"、"F"、"A" です。

set_flags( flags)
flags で指定されたフラグをセットして、他のフラグは下ろします。 flags は並べられたゼロまたは1回の "R"、 "O"、"D"、"F"、"A" です。

add_flag( flag)
flags で指定されたフラグをセットしますが他のフラグは変えません。 一度に二つ以上のフラグをセットすることは、flag に2文字以上の文字列を 指定すればできます。

remove_flag( flag)
flags で指定されたフラグを下ろしますが他のフラグは変えません。 一度に二つ以上のフラグを取り除くことは、flag に2文字以上の文字列を 指定すればできます。

MMDFMessage インスタンスが MaildirMessage インスタンスに 基づいて生成されるとき、MaildirMessage インスタンスの配送日時に基づいて "From " 行が作り出され、次の変換が行われます:

結果の状態 MaildirMessage の状態
R フラグ S フラグ
O フラグ "cur" サブディレクトリ
D フラグ T フラグ
F フラグ F フラグ
A フラグ R フラグ

MMDFMessage インスタンスが MHMessage インスタンスに 基づいて生成されるとき、以下の変換が行われます。

結果の状態 MHMessage 状態
R フラグ および O フラグ "unseen" シーケンス無し
O フラグ "unseen" シーケンス
F フラグ "flagged" シーケンス
A フラグ "replied" シーケンス

MMDFMessage インスタンスが BabylMessage インスタンスに 基づいて生成されるとき、以下の変換が行われます:

結果の状態 BabylMessage の状態
R フラグ および O フラグ "unseen" ラベル無し
O フラグ "unseen" ラベル
D フラグ "deleted" ラベル
A フラグ "answered" ラベル

MMDFMessage インスタンスが mboxMessage インスタンスに 基づいて生成されるとき、"From " 行はコピーされ全てのフラグは直接対応します:

結果の状態 mboxMessage の状態
R フラグ R フラグ
O フラグ O フラグ
D フラグ D フラグ
F フラグ F フラグ
A フラグ A フラグ

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