如何区分 html body 和 python 中的 html 附件?

How to make difference between email html body and html attachment in python?

我使用email.message.Messageobject操作邮件,只需要提取html个附件,而邮件可以有htmlbody,所以看起来like get_content_type() 在这里没有意义。

在python中有什么简单的方法可以确定它是body部分还是附件?

更新:

简化的前函数如下所示:

def get_attachments(mail):            
    for part in mail.walk():
        if part.get_content_type() in ('application/pdf', 'image/png', 'image/jpeg'):
            yield part

一切都比我想象的要容易得多:

def get_attachments(mail):            
    for part in mail.walk():
        disposition = part.get('Content-Disposition')
        if disposition and 'attachment' in disposition:
            yield part