Skip to main content
 首页 » 编程设计

python之在 Python 中保存到 .msg 文件,或者将邮件发送到文件系统

2025年05月04日37freeliver54

我正在使用 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.