我正在构建 SMTP ASCII 电子邮件以包含附件,并希望使用 mimetypes.guess_type 自动从建议的附件中提取“内容类型”,然后使用结果通过 email.mime 将其添加到邮件正文中.base.MIMEBase。
我遇到的问题是 mimetypes.guess_type 生成一个包含完整内容类型的字符串,例如图像/jpeg。但 email.mime.base.MIMEBase 需要 2 个独立的变量,例如 image 和 jpeg。
是否有一种干净的方法来执行此操作(即与 email.mime.base.MIMEBase 不同的定义),以便我不必在使用 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/