在 python 中以编程方式检测和更正Content-Type
charset
电子邮件标头的正确方法是什么?
我有 1000 封电子邮件被提取到.eml
(基本上是纯文本)文件中,有些是编码shift_jis
的,但是电子邮件标题中的字符集没有提到这一点,所以它们在任何电子邮件程序中都不能正确显示。charset
手动添加到Content-Type
标题中可以更正此问题。
曾是:
Content-Type: text/plain; format=flowed
需要是:
Content-Type: text/plain; charset="shift_jis"; format=flowed
在 python 中保留电子邮件正文和标题的其他部分的正确方法是什么?
另外,有没有办法检测哪种编码,并且只纠正那些编码?我不能只是盲目地转换所有内容,因为有些是iso_2022_jp
,并且那些已经正确显示。