使用 Python 的 email.generator 包创建电子邮件草稿

Phi*_*ZXX 4 python email python-3.x

我目前正在使用此代码通过 Python 生成电子邮件:

from email import generator
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

def Create_Email():
    msg            = MIMEMultipart('alternative')
    msg['Subject'] = 'My Subject'
    msg['To']      = 'test@gmail.com'

    html = """\
    <html>
        <head></head>
        <body>hello world</body>
    </html>"""

    part = MIMEText(html, 'html')
    msg.attach(part)

    outfile_name = r'C:\Downloads\email_sample.eml'
    with open(outfile_name, 'w') as outfile:
        gen = generator.Generator(outfile)
        gen.flatten(msg)

Create_Email()
Run Code Online (Sandbox Code Playgroud)

但当我用 Outlook 打开该文件时,它显示为一封已发送的电子邮件:

     在此输入图像描述

如何更改此设置,以便将保存的文件视为草稿,我仍然可以编辑然后发送?就像这样:

      在此输入图像描述

如果email.generator不能做到这一点,我很乐意使用替代包。

Phi*_*ZXX 5

我想在创建电子邮件/草稿时避免依赖 Outlook。

我最终找到的解决方案非常简单;只需添加此标头:

msg.add_header('X-Unsent', '1')
Run Code Online (Sandbox Code Playgroud)

它将把电子邮件标记为未发送,即草稿