2010-07-11 30 views
3

我想修改存儲爲文本文件的電子郵件。我首先導入這樣的消息:保存一個email.Message對象到一個文件

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

然後,我使用電子郵件模塊的功能進行所需的所有修改。

最後一步是將Message對象(msg)保存在文件中。什麼是這樣的代碼片段?似乎沒有任何簡單的功能,如「message_to_file()」...

非常感謝。

回答

5

Messsage.as_string method應該給你的消息的扁平版本,你可以寫出來就像你其他任何字符串:

msg.as_string()

如果不能提供確切的格式你想,考慮嘗試email.generator模塊?如果我正確讀取的事情,你應該能夠做這樣的事情:

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

假設out_file是一個開放的和可寫的文件和msg是你的消息。

+0

你所描述的兩種方法工作得很好! – mimo 2010-07-11 13:03:14

+0

@Blair Conrad如果我在我的電子郵件中有附件(說出一些tar.gz文件),我應該怎麼做才能在一個文件中保存帶有消息的附件? – Dilawar 2012-03-05 15:56:31