18.6. mimetools — MIME メッセージを解析するためのツール — Python 2.7ja1 documentation

### ナビゲーション

- 索引
- モジュール |
- 次へ |
- 前へ |
- Python 2.7ja1 documentation »
- Python 標準ライブラリ »
- 18. インターネット上のデータの操作 »

# 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 に固定されています。

参考

Module `email`
  圧縮電子メール操作パッケージ； `mimetools` モジュールに委譲。
Module `rfc822`
  `mimetools.Message` のベースクラスを提供する。
Module `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'` を返します。下位型文字列は小文字に変換されます。

### ナビゲーション

- 索引
- モジュール |
- 次へ |
- 前へ |
- Python 2.7ja1 documentation »
- Python 標準ライブラリ »
- 18. インターネット上のデータの操作 »