带有正文内容的 Python 电子邮件多部分
Posted
技术标签:
【中文标题】带有正文内容的 Python 电子邮件多部分【英文标题】:Python Emailing Multipart with body content 【发布时间】:2012-08-13 07:23:00 【问题描述】:我无法在 python 中发送带有正文的电子邮件作为多部分电子邮件。我所做的一切都导致所有内容都作为附件,我无法让文本或 html 显示在正文中。
msg = MIMEMultipart()
if msg_mime_type == 'text' or not msg_mime_type:
new_body = MIMEText(body, 'text')
elif msg_mime_type == 'image':
new_body = MIMEImage(body)
elif msg_mime_type == 'html':
new_body = MIMEText(body, 'html')
new_body.add_header('Content-Disposition', 'inline', filename='body')
msg.set_payload(new_body) #also tried msg.attach(new_body)
我需要使用Multipart
以便我还可以添加附件,但为了简单起见,我保留了该代码。
【问题讨论】:
【参考方案1】:您需要指定这些部件是彼此的替代品,例如multipart/alternative
mime 类型:
msg = MIMEMultipart('alternative')
默认为mixed
;见email library examples。
请注意,要创建包含附件和替代 (HTML / CSS) 选项的电子邮件,您需要有一个*** multipart/related
容器,其中包含 alternative
部分作为第一个条目。
【讨论】:
现在 yahoo 没有注册正文或附件,gmail 注册为附件 @notbad.jpeg:你需要嵌套 mime 部分;主要消息是多部分/替代(读者可以选择 HTML 或文本),但其余消息需要成为您的电子邮件的一部分,而不是替代的一部分。 是的,这对我一点帮助都没有,它实际上让我更加困惑,也许你可以发布一个更大的代码 sn-p? 示例alternative
在 SO 上构建多部分消息:Python: Sending Multipart html emails which contain embedded images
Python 食谱网站上的示例:code.activestate.com/recipes/576931-send-a-multipart-email以上是关于带有正文内容的 Python 电子邮件多部分的主要内容,如果未能解决你的问题,请参考以下文章
调用 gmail api 以发送带有附件(多部分)的电子邮件时,请求的正文如何?
PHP pdf 电子邮件附件,内容类型:多部分/混合,html 消息未显示