我正在使用该emails库发送邮件,但我还需要将其另存为.msg文件。我做了一些研究,还阅读了 msg 格式规范,偶然发现了这个 SO 答案,它显示了如何将邮件发送到文件系统C#,我想知道它是否也可以在 Python 中使用。
这是可能的,也很容易。让我们假设这msg是一个包含所有标题和内容的先前组合的消息,并且您想将其写入文件 object out。您只需要:
gen = email.generator.Generator(out) # create a generator
gen.flatten(msg) # write the message to the file object
Run Code Online (Sandbox Code Playgroud)
完整示例:
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)
Run Code Online (Sandbox Code Playgroud)
filename.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.
Run Code Online (Sandbox Code Playgroud)