.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,因此在內文中 依然顯示得出來。

現在就開啟一個 .msg 檔

不需註冊、不需上傳、不需安裝任何軟體。

開啟檢視器