分類

近期留言

Mail Mbox 檔案毀損解救 mini-HowTo

這星期一下午要出門前
不知道何原因, Openwebmail 的收件匣內消失了約一整年的 email

急忙出門也沒時間查, 回來之後細看, 才留意到其中一封 email 有將近 890M
猜想消失的 email 大概是在裡頭

前後試了很多方法去解, 包括用 imap 去讀, 或是用 formail 去拆解 email 都失敗
最後只好回去 K Mbox 檔案格式
Google 了一下, 找到 qmail 的網頁
其中的 Message Format 說明如下:

回去打開正常的 Mbox 檔

再打開有問題的 Mbox 檔

發現真的少了 From_ line

接下來就是怎樣把 From_ line 塞回去的問題了
只是將近 900M 的檔案, 不是一般的純文字編輯器可以打開
就算打開了, 裡頭有 2-3 千封的 email, 也會拆解到抓狂

後來用 vi 測, 慢慢的把 From_ line 塞回去, 慢慢的搬
但這純手工業做起來真的會死人

本來想用替換的方式處理, 無奈 vi 的指令已經忘的差不多
昨晚稍微試一下就決定放棄 (大概是命吧, 雖然聽 kkkk 說土匪蕭有傳指令給他, 但因為昨晚 MSN 也不知道發生啥事, 我就是沒收到這個指令)

今早起來跟 tempo 聊了一下, 還是決定把檔案搬到 Windows 下用 UltraEdit 來處理

因為一般 From_ line 都是在 Return-Path: 的前面,
所以很簡單的試一下用 From_ line 加上 Return-Path: 來取代原本的 Return-Path:

取代完後再把第一列重覆的 From_ line 刪掉

上傳回去之前, 先用 ImapSize 把 Mbox 轉成 eml 試試

發現可以順利的把 Mbox 內的 email 拆解出來

就決定上傳回去了
但後來發現還是有一些需要微調的
因為有的 mail 內的 header 有存在字串叫 X-Return-Path:
取代後的結果就是把 X-Return-Path: 給拆掉了

這個部份就在 vi 內用 X-From 去 Search 一下, 調回來就可以了
解開後再搬回收件匣內就大功告成了

話雖如此, 但到現在還是不知道星期一是怎樣死法的
是不是太久沒整理收件匣(單一收件匣容量累績超過 3G) 所得到的懲罰 Orz

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>