問題: /var/spool/mail/someone 容量達 2GB 導致 openwebmail 處理速度緩慢
解決方法: 使用 archivemail、archmbox 等郵件歸檔工具, 將舊信件匯入 ~/mail/, 讓 openwebmail / imap 可直接從 ~/mail/ 讀取歸檔的郵件
環境: CentOS / Fedora
附錄: DBX (Outlook Express) 轉 MBOX
將 2004 年郵件另存為 /home/someone/mail/someone_2004
archivemail:
archivemail --no-compress --date=2005-01-01 \
-o /home/someone/mail -s '_2004' someonearchmbox:
archmbox --archive --date 2005-01-01 --date-header \
--archive-path /home/someone/mail --archive-name 'someone_2004' \
--extension none `pwd`/someone
匯出指定寄件者 / 主旨的郵件
#匯出所有 'John Smith' 的來信
#儲存檔案: /home/someone/mail/from_smith
archmbox --archive --offset -1 -x From='John Smith' \
--archive-path /home/someone/mail --archive-name 'from_smith' \
--extension none `pwd`/someone#匯出 'John Smith' 所寄來, 主旨含有 'quotation' 這個字的信件 (不分大小寫)
#儲存檔案: /home/someone/mail/quotation_from_smith
#---
#-X 與 -x 的差異在於: -X 是 "and" 邏輯, -x 是 "or" 邏輯
#以下使用 -X 即表示: From 與 Subject 須同時符合條件
archmbox --archive --offset -1 -X From='John Smith' -X Subject='quotation' \
--archive-path /home/someone/mail --archive-name 'quotation_from_smith' \
--extension none `pwd`/someone
列出 MailScanner-SpamScore 達 sssss (Spam 分數 5 分) 的郵件
#只列出 Spam 分數為 5 分的郵件
archmbox --list --offset -1 -x X-MailScanner-SpamScore='^sssss$' `pwd`/someone#列出 Spam 分數 5 分以上的郵件
archmbox --list --offset -1 -x X-MailScanner-SpamScore='sssss' `pwd`/someone#刪除 Spam 分數 5 分以上的郵件
archmbox --kill --offset -1 -x X-MailScanner-SpamScore='sssss' `pwd`/someone
結論: 若只需要以日期做為歸檔依據, 使用 archivemail 較為方便快速.
更多的 archmbox 操作說明可參考: Linux.com :: Manage your mbox file with Archmbox
應用實例
附錄 - DBX 轉 MBOX
DbxConv - Outlook Express .DBX 轉 MBOX (Win32 command-line tool)
DbxConv 使用實例:
- 將 dbxconv.zip 裡面的 dbxconv.exe 解壓縮到 C:\Windows\System32
- 開啟 Outlook Express, 於 "收件匣" 按右鍵 → 內容
- 複製 C:\Documents and Settings\... 完整內容
- 關閉 Outlook Express
- 視窗鍵 + R → cmd
- cd "C:\Documents and Settings\..." (注意: 路徑不含 "收件匣.dbx")
- ren 收件匣.dbx inbox.dbx (dbxconv 無法處理中文檔名)
- dbxconv inbox.dbx (執行完畢將出現 inbox.mbx 這個 mbox file)
- ren inbox.dbx 收件匣.dbx