Message.walk() メソッドを使うと、簡単に メッセージオブジェクトツリー内を次から次へとたどる (iteration) ことができます。 email.Iterators モジュールはこのための高水準イテレータを いくつか提供します。
msg[, decode]) |
オプション引数 decode は、Message.get_payload()にそのまま渡されます。
msg[, maintype[, subtype]]) |
subtype は省略可能であることに注意してください。 これが省略された場合、サブパートの MIME 形式は maintype のみが チェックされます。じつは maintype も省略可能で、 その場合にはデフォルトは text です。
つまり、デフォルトでは typed_subpart_iterator() は MIME 形式 text/* をもつサブパートを順に返していくというわけです。
以下の関数は役に立つデバッグ用ツールとして追加されたもので、 パッケージとして公式なサポートのあるインターフェイスではありません。
msg[, fp[, level]]) |
>>> msg = email.message_from_file(somefile) >>> _structure(msg) multipart/mixed text/plain text/plain multipart/digest message/rfc822 text/plain message/rfc822 text/plain message/rfc822 text/plain message/rfc822 text/plain message/rfc822 text/plain text/plain
オプション引数 fp は出力を渡すためのストリーム 12.7オブジェクトです。 これは Python の拡張 print 文が対応できるようになっている必要があります。 level は内部的に使用されます。