18.6. mimetools
— MIME メッセージを解析するためのツール¶
バージョン 2.3 で撤廃: email
パッケージを mimetools
モジュールより優先して使うべきです。このモジュールは、下位互換性維持のためにのみ存在しています。Python 3.x では削除されています。
このモジュールは、 rfc822
モジュールの Message
クラスのサブクラスと、マルチパート MIME や符合化メッセージの操作に役に立つ多くのユーティリティ関数を定義しています。
このモジュールでは以下の内容を定義しています:
-
class
mimetools.
Message
(fp[, seekable])¶ Message
クラスの新しいインスタンスを返します。これは、rfc822.Message
クラスのサブクラスで、いくつかの追加のメソッドがあります(以下を参照のこと)。 seekable 引数は、rfc822.Message
のものと同じ意味を持ちます。
-
mimetools.
choose_boundary
()¶ パートの境界として使うことができる見込みが高いユニークな文字列を返します。その文字列は、
'hostipaddr.uid.pid.timestamp.random'
の形をしています。
-
mimetools.
decode
(input, output, encoding)¶ オープンしたファイルオブジェクト input から、許される MIME encoding を使って符号化されたデータを読んで、オープンされたファイルオブジェクト output に復号化されたデータを書きます。 encoding に許される値は、
'base64'
,'quoted-printable'
,'uuencode'
,'x-uuencode'
,'uue'
,'x-uue'
,'7bit'
, および'8bit'
です。'7bit'
あるいは'8bit'
で符号化されたメッセージを復号化しても何も効果がありません。入力が出力に単純にコピーされるだけです。
-
mimetools.
encode
(input, output, encoding)¶ オープンしたファイルオブジェクト input からデータを読んで、それを許される MIME encoding を使って符号化して、オープンしたファイルオブジェクト output に書きます。 encoding に許される値は、
decode()
のものと同じです。
-
mimetools.
copyliteral
(input, output)¶ オープンしたファイル input から行を EOF まで読んで、それらをオープンしたファイル output に書きます。
-
mimetools.
copybinary
(input, output)¶ オープンしたファイル input からブロックを EOF まで読んで、それらをオープンしたファイル output に書きます。ブロックの大きさは現在 8192 に固定されています。
参考
email
モジュール- 包括的な e-mail 処理パッケージです。
mimetools
に取って代わります。 rfc822
モジュールmimetools.Message
のベースクラスを提供しています。multifile
モジュール- MIME データのような、別個のパーツを含むファイルの読み込みをサポート。
- http://faqs.cs.uu.nl/na-dir/mail/mime-faq/.html
- MIME でよく訊ねられる質問と回答。MIMEの概要に関しては、この文書の Part 1 の質問 1.1 への回答参照。
18.6.1. Message オブジェクトの追加メソッド¶
Message
クラスは、 rfc822.Message
メソッドに加えて、以下のメソッドを定義しています:
-
Message.
getplist
()¶ Content-Type ヘッダのパラメータリストを返します。これは文字列のリストです。
key=value
の形のパラメータに対しては、 key は小文字に変換されますが、 value は変換されません。たとえば、もしメッセージに、ヘッダContent-type: text/html; spam=1; Spam=2; Spam
が含まれていれば、getplist()
は、Python リスト['spam=1', 'spam=2', 'Spam']
を返すでしょう。
-
Message.
getparam
(name)¶ 与えられた name の(
name=value
の形に対してgetplist()
が返す) 第 1 パラメータの value を返します。もし value が、'<
…>
' あるいは '"
…"
' のように引用符で囲まれていれば、これらは除去されます。
-
Message.
getencoding
()¶ Content-Transfer-Encoding メッセージヘッダで指定された符号化方式を返します。もしそのようなヘッダが存在しなければ、
'7bit'
を返します。符号化方式文字列は小文字に変換されます。
-
Message.
gettype
()¶ Content-Type ヘッダで指定された (
type/subtype
の形での) メッセージタイプを返します。もしそのようなヘッダが存在しなければ、'text/plain'
を返します。タイプ文字列は小文字に変換されます。
-
Message.
getmaintype
()¶ Content-Type ヘッダで指定されたメインタイプを返します。もしそのようなヘッダが存在しなければ、
'text'
を返します。メインタイプ文字列は小文字に変換されます。
-
Message.
getsubtype
()¶ Content-Type ヘッダで指定されたサブタイプを返します。もしそのようなヘッダが存在しなければ、
'plain'
を返します。サブタイプ文字列は小文字に変換されます。