Python Emailing Multipart with body content(带有正文内容的 Python 电子邮件多部分)
问题描述
我无法在 python 中发送带有正文的电子邮件作为多部分电子邮件.我所做的一切都导致所有内容都作为附件,我无法让文本或 html 显示在正文中.
I can't send an e-mail in python with a body as a multipart email. Everything I've tried has resulted in all of the content as attachments, and I can't get the text or html to show up in the body.
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
以便我还可以添加附件,但为了简单起见,我保留了该代码.
I need to use a Multipart
so that i can also add attachments, but I kept that code out for simplicity.
推荐答案
您需要指定零件是彼此的替代品,例如multipart/alternative
mime 类型:
You need to specify that the parts are alternatives of one another, e.g. the multipart/alternative
mime type:
msg = MIMEMultipart('alternative')
默认为混合
;请参阅电子邮件库示例.
请注意,要创建包含附件和替代 (HTML/CSS) 选项的电子邮件,您需要有一个包含 alternative<的顶级
multipart/related
容器/code> 部分作为第一个条目.
Note that to create an email with both attachments and an alternative (HTML / CSS) option you'll need to have a top-level multipart/related
container that contains the alternative
parts as the first entry.
这篇关于带有正文内容的 Python 电子邮件多部分的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:带有正文内容的 Python 电子邮件多部分


基础教程推荐
- 用于分类数据的跳跃记号标签 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- 筛选NumPy数组 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01