【问题标题】:Python Emailing Multipart with body content带有正文内容的 Python 电子邮件多部分
【发布时间】: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 以便我还可以添加附件,但为了简单起见,我保留了该代码。

【问题讨论】:

    标签: python email smtp mime


    【解决方案1】:

    您需要指定这些部件是彼此的替代品,例如multipart/alternative mime 类型:

    msg = MIMEMultipart('alternative')
    

    默认为mixed;见email library examples

    请注意,要创建包含附件和替代 (HTML / CSS) 选项的电子邮件,您需要有一个顶级 multipart/related 容器,其中包含 alternative 部分作为第一个条目。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-06
    • 2014-06-18
    • 1970-01-01
    • 2011-01-16
    • 2013-07-13
    • 2012-04-24
    相关资源
    最近更新 更多