我正在使用 emails 库发送邮件,但我还需要将其保存为 .msg 文件。我做了一些研究并阅读了 msg 格式规范并偶然发现了 this SO answer它显示了如何在 C# 中将邮件发送到文件系统,我想知道在 Python 中是否也可行。
请您参考如下方法:
这是可能的,也很容易。让我们假设 msg 是一个包含所有 header 和内容的先前组合的消息,并且您希望将其写入文件对象 out。你只需要:
gen = email.generator.Generator(out) # create a generator
gen.flatten(msg) # write the message to the file object
完整示例:
import email
# create a simple message
msg = email.mime.text.MIMEText('''This is a simple message.
And a very simple one.''')
msg['Subject'] = 'Simple message'
msg['From'] = 'sender@sending.domain'
msg['To'] = 'rcpt@receiver.domain'
# open a file and save mail to it
with open('filename.elm', 'w') as out:
gen = email.generator.Generator(out)
gen.flatten(msg)
文件名.elm的内容是:
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: Simple message
From: sender@sending.domain
To: rcpt@receiver.domain
This is a simple message.
And a very simple one.
