发送时
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
在上面引用的一行电子邮件中,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
当在雷鸟中显示邮件时,它看起来完全没问题。该行显示为一行。
但是,当使用pythons Message.get_payload
解析它时,仍会显示换行符,完全破坏了可读性。
如何让python将这些“流动”的文本行转换为普通文本?
答案 0 :(得分:4)
使用formatflowed
library将此类文字转换为“常规”文字:
from formatflowed import convertToWrapped
text = convertToWrapped(msg.get_payload(), character_set=msg.get_charset())
请注意,您需要传入字节字符串,而不是unicode
值;库为您解码为Unicode。
强制性免责声明:我是该图书馆的作者,虽然现在已经很久了。