Python 将mimetypes.guess_类型与email.mime.base.MIMEBase一起使用

Python 将mimetypes.guess_类型与email.mime.base.MIMEBase一起使用,python,smtp,mime-types,Python,Smtp,Mime Types,我正在构建包含附件的SMTP ASCII电子邮件,并希望使用mimetypes.guess_type自动从建议的附件中提取“内容类型”,然后使用email.mime.base.MIMEBase将结果添加到邮件正文中 我遇到的问题是mimetypes.guess_type生成一个包含完整内容类型的字符串,例如image/jpeg。但是email.mime.base.MIMEBase需要两个独立的变量,例如image和jpeg 是否有一种干净的方法(即使用不同于email.mime.base.MIM

我正在构建包含附件的SMTP ASCII电子邮件,并希望使用mimetypes.guess_type自动从建议的附件中提取“内容类型”,然后使用email.mime.base.MIMEBase将结果添加到邮件正文中

我遇到的问题是mimetypes.guess_type生成一个包含完整内容类型的字符串,例如image/jpeg。但是email.mime.base.MIMEBase需要两个独立的变量,例如image和jpeg

是否有一种干净的方法(即使用不同于email.mime.base.MIMEBase的定义),这样我就不必在使用mimetypes.guess_type之前解析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('/'))