pytho****@googl*****
pytho****@googl*****
2011年 11月 24日 (木) 12:11:44 JST
2 new revisions: Revision: 2c66f496d8cc Author: Arihiro TAKASE <hinac****@gmail*****> Date: Wed Nov 23 19:05:37 2011 Log: Update 2.7.2: library/email.message http://code.google.com/p/python-doc-ja/source/detail?r=2c66f496d8cc Revision: 94c2659fe013 Author: Arihiro TAKASE <hinac****@gmail*****> Date: Wed Nov 23 19:06:10 2011 Log: merge http://code.google.com/p/python-doc-ja/source/detail?r=94c2659fe013 ============================================================================== Revision: 2c66f496d8cc Author: Arihiro TAKASE <hinac****@gmail*****> Date: Wed Nov 23 19:05:37 2011 Log: Update 2.7.2: library/email.message http://code.google.com/p/python-doc-ja/source/detail?r=2c66f496d8cc Modified: /library/email.message.rst ======================================= --- /library/email.message.rst Tue May 3 05:41:46 2011 +++ /library/email.message.rst Wed Nov 23 19:05:37 2011 @@ -49,11 +49,6 @@ メッセージのフラット化は :class:`Message` の変更を引き起こす可能性が あります (例えば、MIME の境界が生成される、変更される等)。 - Flattening the message may trigger - changes to the :class:`Message` if defaults need to be filled in to - complete the transformation to a string (for example, MIME boundaries may - be generated or modified). - このメソッドは手軽に利用する事ができますが、必ずしも期待通りにメッ セージを\ フォーマットするとは限りません。たとえば、これはデフォルトでは ``From`` で\ 始まる行を変更してしまいます。以下の例のよう に :class:`~email.generator.Generator` @@ -151,10 +146,25 @@ 文字セット名をあらわす文字列、あるいは ``None`` のいずれかが指定でき ます。 文字列を指定した場合、これは :class:`~email.charset.Charset` インスタ ンスに変換されます。 *charset* が ``None`` の場合、 ``charset`` パラメータは - :mailheader:`Content-Type` ヘッダから除去されます。 + :mailheader:`Content-Type` ヘッダから除去されます + (それ以外にメッセージの変形は行われません)。 これ以外のものを文字セットとして指定した場合、 :exc:`TypeError` が発生します。 + :mailheader:`MIME-Version` ヘッダが存在しなければ、追加されます。 + :mailheader:`Content-Type` ヘッダが存在しなければ、 + :mimetype:`text/plain` を値として追加されます。 + :mailheader:`Content-Type` が存在していてもいなくても、 + ``charset`` パラメタは *charset.output_charset* に設定されます。 + *charset.input_charset* と *charset.output_charset* が異なるなら、 + ペイロードは *output_charset* に再エンコードされます。 + :mailheader:`Content-Transfer-Encoding` ヘッダが存在しなければ、 + ペイロードは、必要なら指定された :class:`~email.charset.Charset` + を使って transfer エンコードされ、適切な値のヘッダが追加されます。 + :mailheader:`Content-Transfer-Encoding` ヘッダがすでに存在すれば、 + ペイロードはすでにその :mailheader:`Content-Transfer-Encoding` によっ て + 正しくエンコードされたものと見なされ、変形されません。 + ここでいうメッセージとは、unicode 文字列か *charset.input_charset* で エンコードされた ペイロードを持つ :mimetype:`text/\*` 形式のものを仮定しています。これ は、もし必要とあらば\ プレーンテキスト形式を変換するさいに *charset.output_charset* の @@ -288,6 +298,13 @@ ふつう、パラメータの値が ``None`` 以外のときは、 ``key="value"`` の形で追加されます。 パラメータの値が ``None`` のときはキーのみが追加されます。 + 値が非 ASCII 文字を含むなら、それは ``(CHARSET, LANGUAGE, VALUE)`` の + 形式の 3 タプルでなくてはなりません。 + ここで ``CHARSET`` はその値をエンコードするのに使われる文字セットを + 指名する文字列で、 ``LANGUAGE`` は通常 ``None`` か空文字列にでき + (その他の可能性は :RFC:`2231` を参照してください)、 ``VALUE`` は + 非 ASCII コードポイントを含む文字列値です。 + 例を示しましょう:: @@ -297,6 +314,15 @@ Content-Disposition: attachment; filename="bud.gif" + 非 ASCII 文字を使った例:: + + msg.add_header('Content-Disposition', 'attachment', + filename=('iso-8859-1', '', 'Fußballer.ppt')) + + は、以下のようになります:: + + Content-Disposition: attachment; filename*="iso-8859-1''Fu%DFballer.ppt" + .. method:: replace_header(_name, _value) @@ -487,7 +513,8 @@ そのメッセージ中の :mailheader:`Content-Disposition` ヘッダにある、 ``filename`` パラメータの値を返します。 - 目的のヘッダに ``filename`` パラメータがない場合には ``name`` + 目的のヘッダに ``filename`` パラメータがない場合には + :mailheader:`Content-Type` ヘッダにある ``name`` パラメータを探します。 それも無い場合またはヘッダが無い場合には *failobj* が返されます。 返される文字列はつねに :meth:`email.utils.unquote` によって unquote されます。 ============================================================================== Revision: 94c2659fe013 Author: Arihiro TAKASE <hinac****@gmail*****> Date: Wed Nov 23 19:06:10 2011 Log: merge http://code.google.com/p/python-doc-ja/source/detail?r=94c2659fe013