在一个mbox
文件中,我存储了一些电子邮件:它们也可以使用 MIME。它们必须在文件中原样mbox
提取,无需修改,使用Python3
脚本。我尝试了以下代码:
import mailbox
for message in mailbox.mbox('mboxfile'):
mstring = message.as_string()
print(mstring)
这似乎打印了电子邮件的原始内容。中的电子邮件mbox
并不总是\r\n
用于所有新行:有时它们只有\n
. 无论如何,在message.as_string()
输出中始终\n
使用,如手册页中所述。
该手册还指出(大约as_string()
):
请注意,提供此方法是为了方便,可能不是在应用程序中序列化消息的最有用方法,尤其是在处理多条消息时。
我无法完全理解这个建议可能意味着什么。我的mbox
文件显然包含几封电子邮件,我想将它们全部提取出来。最重要的是,我想获得存储在那里的完全相同的原始电子邮件,没有任何修改和保留每一行的原始 \r\n
电子邮件,\n
就像我cat
在mbox
文件上使用的一样。所以:
- 我的代码是正确的方法吗?
- 如果不是,那将是正确的方法?