何もないところから Message を作成するときしばしば必要になるのが、 ペイロードをメールサーバに通すためにエンコードすることです。 これはとくにバイナリデータを含んだ image/* や text/* タイプのメッセージで必要です。
email パッケージでは、encoders モジュールにおいて いくかの便宜的なエンコーディングをサポートしています。実際にはこれらの エンコーダは MIMEAudio および MIMEImage クラスの コンストラクタでデフォルトエンコーダとして使われています。 すべてのエンコーディング関数は、エンコードするメッセージオブジェクト ひとつだけを引数にとります。これらはふつうペイロードを取りだし、 それをエンコードして、ペイロードをエンコードされたものにセットしなおします。 これらはまた Content-Transfer-Encoding: ヘッダを適切な値に 設定します。
提供されているエンコーディング関数は以下のとおりです:
msg) |
quoted-printable
7.5 に設定します。
これはそのペイロードのほとんどが通常の印刷可能な文字からなっているが、
印刷不可能な文字がすこしだけあるときのエンコード方法として適しています。
msg) |
base64
に変更します。これはペイロード中の
データのほとんどが印刷不可能な文字である場合に適しています。
quoted-printable 形式よりも結果としてはコンパクトなサイズになるからです。
base64 形式の欠点は、これが人間にはまったく読めないテキストに
なってしまうことです。
msg) |
7bit
あるいは
8bit
に適した形に設定します。
msg) |