11.24 標準モジュール mimify

 

mimifyモジュールはMIMEフォーマットからMIMEフォーマットへメールメッセージを 変換する2つの関数を定義します。 メールメッセージは単純なメッセージかいわゆる多くの部分で構成されるメッセージかです。 それぜれの部分じゃ分割して扱われます。 7ビットのASCIIコードで表現出来ない文字を含むとき、クォート付きの印字可能なものに メッセージを符号化することをmimifying a message は必要とします。 クォート付きで印字可能に符号化したものを元に戻すことをunmimify a messageは必要とします。 メッセージを送る前に編集しなくてはならないときmimifyとunmimifyは特に役立ちます。 典型的に使用例をしめします。

unmimify message
edit message
mimify message
send message

モジュールは利用者が呼び出すことができる関数と利用者が設定できる変数を以下に定義します。

mimify (infile, outfile)
infileからoutfileへメッセージをコピーします。 そのとき、必要に応じてクォート付きで印字できるように変換したり、 MIMEメールヘッダを付加したりします。 infileoutfileはファイルオブジェクトまたはファイルの名前の文字列です。 (本当はinfileに対するreadlineメソッドや outfileに対するwriteメソッドがオブジェクトにあります。) infileoutfileが両方文字列のとき、それらは同じ値かもしれない。

unmimify (infile, outfile, decode_base64 = 0)
infileからoutfileへメッセージをコピーします。 そのとき、全てのクォート付きの印字可能な部分を復号します。 infileoutfileはファイルオブジェクトまたはファイルの名前の文字列です。 (本当はinfileに対するreadlineメソッドや outfileに対するwriteメソッドがオブジェクトにあります。) infileoutfileが両方文字列のとき、それらは同じ値かもしれない。 decode_base64 引数が指定され、調べて真のとき、 base64の符号化をしている全ての部分を同じように復号化します。

mime_decode_header (line)
lineにある符号化されたヘッダ行の復号のバージョンを返します。

mime_encode_header (line)
lineにあるヘッダ行のMIME符号化されたバージョンを返します。

MAXLEN
デフォルトでは、非ASCII文字を含む部分があるとき、(たとえば、8ビットの文字セット) または MAXLEN以上の文字がある行があるとき、 クォート付きの印字可能なように符号化します。 デフォルト値は200です

CHARSET
メールヘッダに明記されていないとき、文字セットは満たされなくてはなりません。 使われる文字列はCHARSETに格納されます。 デフォルト値はISO-8859-1(Latin1としても知られています)です。

このモジュールもコマンドラインから使用できます。使用方法は以下のとおりです。

mimify.py -e [-l length] [infile [outfile]]
mimify.py -d [-b] [infile [outfile]]
それぞれ符号化(mimify)と復号化(unmimify)です。 infileのデフォルトは標準入力で、outfileのデフォルトは標準出力です。 同じファイルが入力と出力で使用できます。

符号化で-lオプションが指定されたとき、 指定されたlengthより長い行があれば、その部分を符号化します。

復号で-bオプションが指定されたとき、base64の部分は同様に復号されます。

guido@python.org