在python中解析具有错误mime类型的电子邮件

时间:2011-12-13 21:40:30

标签: python email mime-types attachment

我正在尝试使用python的imaplibemail.feedparser从gmail收件箱中获取附件。该电子邮件由外部方生成并发送给我们,因此我无法控制它。

问题是我尝试解析的邮件msg.get_content_maintype()返回'text'而不是'multitype'。因此,uuencoded附件与消息的其余部分连接在一起,我看不到将其从email.message.Message中拉出来的简便方法。

我是如何从这样的电子邮件中提取附件的?

如果有任何帮助,电子邮件中包含“由Microsoft MimeOLE制作V6.00.3790.4862”。 Thunderbird在呈现此电子邮件时也遇到了问题,并且无法确定它是否有附件。否则,该邮件在Outlook和Gmail Web客户端中看起来不错。

1 个答案:

答案 0 :(得分:0)

正如email.parser.FeedParser documentation所述,您可以使用_factory参数来提供自己的Message课程。如果此消息由“由Microsoft MimeOLE制作... blablabla”组成,您可以将自己的类派生自email.message.Message,将其替换为正确的类。

我认为可以安全地预期此特定情况下的消息将始终是多部分的。