7.1.12 mimelib との違い

email パッケージはもともと mimelib と 呼ばれる個別のライブラリからつくられたものです。その後変更が加えられ、 メソッド名がより一貫したものになり、いくつかのメソッドやモジュールが 加えられたりはずされたりしました。いくつかのメソッドでは、 その意味も変更されています。しかしほとんどの部分において、 mimelib パッケージで使うことのできた機能は、ときどきその方法が変わってはいるものの email パッケージでも使用可能です。 mimelib パッケージと email パッケージの間の 下位互換性はあまり優先はされませんでした。

以下では mimelib パッケージと email パッケージにおける 違いを簡単に説明し、それに沿ってアプリケーションを移植するさいの 指針を述べています。

おそらく 2つのパッケージのもっとも明らかな違いは、 パッケージ名が email に変更されたことでしょう。 さらにトップレベルのパッケージが以下のように変更されました:

Message クラスでは、以下のような違いがあります:

Parser クラスは、その public なインターフェイスは変わっていませんが、 これはより一層かしこくなって message/delivery-status 形式のメッセージを 認識するようになりました。これは配送状態通知 7.8において、各ヘッダブロックを表す独立した Message パートを含む ひとつの Message インスタンスとして表現されます。

Generator クラスは、その public なインターフェイスは変わっていませんが、 email.generator モジュールに新しいクラスが加わりました。 DecodedGenerator と呼ばれるこのクラスは 以前 Message.getpayloadastext() メソッドで使われていた 機能のほとんどを提供します。

また、以下のモジュールおよびクラスが変更されています:

mimelib では、address および date モジュールで いくつかのユーティリティ関数が提供されていました。 これらの関数はすべて email.utils モジュールの中に 移されています。

MsgReader クラスおよびモジュールは廃止されました。 これにもっとも近い機能は email.iterators モジュール中の body_line_iterator() 関数によって提供されています。



脚注

... 認識するようになりました。これは配送状態通知7.8
配送状態通知 (Delivery Status Notifications, DSN) は RFC 1894 によって定義されています。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。