最近由於某些新進同仁都使用WebMail,但又不砍信,造成Mail Server繁忙,只好請他們自行砍信/移信。有些 皮比較癢 公務繁忙的同仁沒空處理,只好抽空寫支小程式處理。 由於Openwebmail的限制,不能用maildir,只能維持使用mailbox,這是系統loading高的主因。由於許多原因以及沒有功能更齊全的webmail前提下,只能暫時如此處理。本來要用比較熟悉的Java寫,但是搜尋之下並沒有功能完整的library,而Python內建就支援mailbox處理,在缺乏其他支援/資源的情況下也只能硬著頭皮寫。因為我比較懶,裏頭有用到一個 date parser ,使用前請先安裝。 這裏的環境針對FreeBSD + Postfix+Openwebmail,sendmail/qmail應該也適用,我在Ubuntu開發,所以在Linux"應該"也能正常執行。 完整程式如下: #!/usr/bin/env python # coding: utf-8 import datetime import mailbox import email.Errors import os from stat import ST_SIZE #由於python沒有內建的Date Parser,所以找了一個dateutil parser, http://labix.org/python-dateutil #FreeBSD ports裏在 /usr/ports/devel/py-dateutil from dateutil.parser import parse def mailbox_apart(inputfile, outputfile, splitdate): inbox = mailbox.mbox(inputfile); mboxNew = mailbox.mbox(outputfile); for key, message in inbox.iteritems(): timex = parse(message['date']); timex = datetime.date(timex.year, timex.month, timex.day); if cmp(tim