.msg 與 .eml 有什麼差別?
並列比較 Outlook 的 .msg 與標準 .eml 郵件檔:結構、相容性、各自保留的資訊,以及什麼時候該互相轉換。
兩種格式都是把一封郵件存成一個檔案。差別在於 .eml 是公開的網際網路 標準,而 .msg 是流出到外界的微軟內部實作細節。
一覽表
| .msg | .eml | |
|---|---|---|
| 擁有者 | 微軟(Outlook) | IETF 標準(RFC 5322 / MIME) |
| 結構 | 二進位 OLE2 複合文件 | 純文字 + MIME 分段 |
| 文字編輯器可讀 | 否 | 是 |
| Apple Mail / Thunderbird 可開 | 否 | 是 |
| 可存非郵件項目 | 可 —— 聯絡人、約會、工作 | 否 —— 僅郵件 |
| Exchange 專屬資訊 | 保留 | 遺失 |
| 檔案大小 | 較大 | 較小 |
.msg 保留了哪些 .eml 做不到的東西
.msg 是 Outlook 項目的快照,而不是網際網路郵件的快照,所以它保留了 許多從未走過 SMTP 的資訊:
- 訊息類別 —— 這個項目究竟是郵件、約會、聯絡人還是工作。
- Exchange 位址 —— 內部寄件者與收件者的
/O=…/OU=…/CN=…legacy DN,常常是某個內部信箱屬於誰的唯一紀錄。 - 投票回覆、旗標、分類與後續追蹤狀態。
- 草稿 —— 未寄出的郵件根本沒有網際網路標頭,轉檔時遺失的是 一開始就不存在的路由資訊。
.eml 的優勢
- 到處都能開,所有平台的郵件軟體都原生支援。
- 可以直接 grep。純文字表示能用一般命令列工具搜尋、比對與處理。
- 檔案更小,不需要背負複合文件的額外結構,也不會同時存 RTF 與 HTML 兩份內文。
- 更耐久。有文件、基於文字的標準,在今天的軟體都消失之後仍然 讀得懂。
為什麼同一封郵件在兩種格式下大小不同
轉檔之後檔案通常會變小,有時小一半。那並不是像第一眼看起來的那種資料遺失 —— 大部分只是重複的部分消失了。
一個 .msg 常常把內文存了兩三份:HTML、壓縮 RTF、純文字。 它還帶著一堆網際網路郵件根本沒有欄位可以放的 MAPI 記帳資料。.eml 只保留一棵 MIME 樹,所以那些替代版本會收斂成郵件用戶端真正需要的部分。
封存或電子證據系統期待的是哪一種
如果你轉檔的理由是下游有系統要吃這封信,那兩種格式的待遇並不相同:
- 封存與案件管理系統幾乎一律接受
.eml, 因為那是郵件實際傳輸的格式。對.msg的支援很常見但不保證, 而且往往是要另外付費的模組。 - 全文索引工具可以直接讀
.eml。 要索引.msg則需要一個懂壓縮 RTF 的解析器 —— 少了它的索引器會記錄一段空白內文,同時回報「成功」。 - 長期保存偏好
.eml,理由很單純: 那是二十年後用任何編輯器都讀得懂的文字。.msg則需要一個能運作的 OLE2 實作才有任何意義。
什麼時候該把 .msg 轉成 .eml
以下情況建議轉檔:
- 要在沒有 Outlook 的 Mac、Linux 或手機上開啟郵件;
- 要匯入非微軟的郵件軟體或封存系統;
- 要長期保存,並確保未來仍讀得懂;
- 要把郵件交給不使用 Outlook 的人。
但若該項目是證物、是約會或聯絡人而非郵件,或 Exchange 內部寄件者資訊很重要時, 請一併保留原始的 .msg。
怎麼轉
在檢視器中開啟檔案,選擇匯出 → 另存為 .eml。 轉換在你的瀏覽器內完成,產生的 MIME 郵件會同時包含純文字與 HTML 兩種內文, 每個附件重新編碼為 base64 分段,內嵌圖片也保留原本的 Content-ID,因此在內文中 依然顯示得出來。