我有一个使用evolution创建的单个假脱机mbox文件,其中包含一系列我希望打印的电子邮件.我的问题是电子邮件没有按时间顺序放入mbox文件中.我想知道使用bash,perl或python从头到尾订购文件的最佳方法.我希望收到发给我的文件,并发送给我发送的文件.是否可能更容易使用maildir文件等?
电子邮件目前以以下格式存在:
From x@blah.com Fri Aug 12 09:34:09 2005 Message-ID: <42FBEE81.9090701@blah.com> Date: Fri, 12 Aug 2005 09:34:09 +0900 From: meUser-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: someone Subject: Re: (no subject) References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Status: RO X-Status: X-Keywords: X-UID: 371 X-Evolution-Source: imap://x+blah.com@blah.com/ X-Evolution: 00000002-0010 Hey the actual content of the email someone wrote: > lines of quotedtext
我想知道是否有办法使用这些信息轻松地重新组织文件,可能使用perl等.
这是你如何在python中做到这一点:
#!/usr/bin/python2.5 from email.utils import parsedate import mailbox def extract_date(email): date = email.get('Date') return parsedate(date) the_mailbox = mailbox.mbox('/path/to/mbox') sorted_mails = sorted(the_mailbox, key=extract_date) the_mailbox.update(enumerate(sorted_mails)) the_mailbox.flush()