我正在构建SMTP ASCII电子邮件以包含附件,并希望使用mimetypes.guess_type从提议的附件中自动提取“内容类型”,然后通过使用email.mime.base使用结果将其添加到邮件正文中。 MIMEBase。
我遇到的问题是mimetypes.guess_type产生包含完整内容类型的单个字符串,例如图片/ jpeg。但是email.mime.base.MIMEBase需要2个单独的变量,例如image和jpeg。
有没有一种干净的方法可以做到这一点(即与email.mime.base.MIMEBase不同的def),这样我就不必在使用mimetypes.guess_type之前解析结果?
要使这两个库协同工作必须这样做,这似乎很乏味,所以我假设我错过了另一种更简单的方法。
谢谢。
最佳答案
嗯,使用python很容易进行这种“解析”。您可以尝试以下代码:
format, enc = mimetypes.guess_type(filename)
main, sub = format.split('/')
mb = MIMEBase(main, sub)
甚至更紧凑:
format, enc = mimetypes.guess_type(filename)
mb = MIMEBase(*format.split('/'))
关于python - 结合使用mimetypes.guess_type和email.mime.base.MIMEBase,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8496779/