将email.Message对象保存到文件中

3 投票
1 回答
5641 浏览
提问于 2025-04-16 01:07

我正在尝试修改存储为文本文件的电子邮件。首先,我像这样导入一条消息:

import email
f = open('filename')
msg = email.message_from_file(f)

然后,我使用电子邮件模块的功能进行我想要的所有修改。

最后一步是将消息对象(msg)保存到一个文件中。请问有什么代码可以做到这一点吗?似乎没有像“message_to_file()”这样简单的函数...

非常感谢。

1 个回答

5

Messsage.as_string 方法可以让你把消息转换成一个简单的字符串格式,就像你写其他字符串一样:

msg.as_string()

如果这个方法得到的格式不是你想要的,可以试试email.generator模块。根据我的理解,你可以这样做:

generator = email.generator.Generator(out_file)
generator.flatten(msg)

假设 out_file 是一个可以写入的打开文件,而 msg 是你的消息。

撰写回答