2

送信時

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. 

上で引用した 1 行の電子メールでは、thunderbird はそれを次のように変換します。

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy 
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam 
voluptua.

私は、これはどういうわけかこのformat=flowedヘッダーと関係があると信じています:

Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

Thunderbird でメールを表示すると、まったく問題ないように見えます。行は 1 行として表示されます。ただし、pythons を使用して解析するとMessage.get_payload、改行がまだ表示され、読みやすさが完全に損なわれます。

これらの「フローされた」テキスト行を通常の行に変換するにはどうすればよいですか?

4

1 に答える 1

4

formatflowedライブラリを使用して、そのようなテキストを「通常の」テキストに変換します。

from formatflowed import convertToWrapped

text = convertToWrapped(msg.get_payload(), character_set=msg.get_charset())

値ではなくバイト文字列を渡す必要があることに注意してください。unicodeライブラリが Unicode にデコードします。

免責事項: 私はそのライブラリの作成者ですが、かなり前のことです。

于 2013-08-05T18:21:20.963 に答える