Outlook の .msg ファイルを開く
Outlook が入っていなくても .msg を読めます。本文・ヘッダ・添付をすべてブラウザ内で、アップロードなしで。
あなたのファイルは安全です — すべてブラウザ内で処理。サーバーには一切送信しません。
.msg ファイルをここにドロップ
またはクリックしてファイルを選択
Outlook のメッセージファイル(.msg)。アップロードは発生しません。
MSG ファイルの開き方 — Outlook が無くても中身を読む
.msg は Outlook がメール 1 通をそのまま保存したファイルです。担当者が「このメールを転送します」とドラッグしてそのまま添付したときや、証拠として保存したメールを渡されたときに届きます。中には本文だけでなく、差出人・宛先・送信日時、そして元のメールに付いていた添付ファイルまで丸ごと入っています。
ダブルクリックしても開かないのは、.msg が Outlook 専用の形式だからです。Outlook が入っていない PC、Mac、スマートフォンでは「このファイルを開く方法を選んでください」と聞かれるだけで終わります。ファイルが壊れているわけではありません。このページは、その .msg をブラウザの中で読み、添付ファイルを取り出せる状態にします。
.msg ファイルをドロップする
メールに添付されていた .msg を、上の枠にドラッグするかクリックして選びます。Outlook は必要ありません。
差出人と日時を確かめる
件名・差出人・宛先・送信日時が最初に出ます。転送されて元の情報が分からなくなったメールでも、ここで元の送信者と日時が分かります。
本文を読む
書式付きのメールは整形して表示します。HTML メールも、外部への通信をせずに安全な形にしてから表示します。
添付ファイルを取り出す
元のメールに付いていた添付ファイルが一覧で出ます。1 つずつ、またはまとめて ZIP で保存できます。日本語のファイル名もそのまま出ます。
Outlook が手元にあるなら、.msg をダブルクリックすればそのまま開きます。無い場合の選択肢は 3 つです。1 つはこのページのようなブラウザ内のビューア、1 つは Thunderbird などのメールソフトに読み込ませる方法、もう 1 つは送った相手に「.eml で送り直してほしい」と頼む方法です。急いでいて相手に頼めないとき、あるいは社用 PC にソフトを入れられないときは、ブラウザで済ませるのがいちばん早いはずです。
この MSG ビューアの仕組み
.msg は、いわゆるメールファイルではありません。実体は複合ファイル —— 1つのファイルの中に収まった小さな FAT ファイルシステム —— で、メッセージは MAPI プロパティごとに名前が付いたストリームに分かれて格納されています。
このコンテナは .doc / .xls / .ppt と同じもので、4つが同一のシグネチャを共有し、中身を見ないと区別できないのはそのためです。
- コンテナの読み取り
- CFB の構造を直接たどっています。ヘッダ、FAT とその続きである DIFAT、ディレクトリツリー、ミニ FAT。間にライブラリを挟んでいないので、サーバーに処理させるためのアップロードも必要ありません。
- ミニストリームが要
- 4096 バイト未満のストリームは、1本の通常ストリームを 64 バイト単位に区切った「ミニセクタ」に詰め込まれます。メッセージ内の MAPI プロパティはほぼすべてこのサイズなので、ミニ FAT を読まない実装は事実上何も読めません。両方の経路に対応し、両方をテストしています。
- プロパティストリーム
- 各プロパティは __substg1.0_ に続けてプロパティIDと型を16進で並べた名前のストリームです。0037001F なら Unicode の件名、0037001E なら同じ件名を、保存した PC の Windows コードページで書いたものです。どのコードページかは PR_MESSAGE_CODEPAGE に記録されますが、Outlook が書かないこともあるため、その場合はメールの文字コードとロケールから推定します(ISO-2022-JP で届いた日本語のメールなら Shift_JIS)。日時などの固定長の値は代わりに __properties_version1.0 にまとめられています。
- ファイル名の解決順序
- 添付名は PidTagAttachLongFilename(0x3707)→ PidTagAttachFilename(0x3704)→ PidTagDisplayName(0x3001)の順で採用します。短い方だけを読む実装が、日本語ファイル名を 8.3 形式の文字化けにしてしまう原因です。winmail.dat と同じ罠で、ここでも同じ方法で回避しています。
- HTML の本文
- PR_HTML はバイナリで、他のテキストと違って Unicode ではなく、メールの文字コード(PR_INTERNET_CPID)のまま入っています。デコードしたうえで DOMPurify の許可リストでサニタイズし、ネットワークから何も読み込めないようコンテンツセキュリティポリシーを設定したサンドボックス iframe 内に描画します。
- 圧縮 RTF の本文
- HTML 本文かテキスト本文が無いときは、圧縮 RTF の本文(PR_RTF_COMPRESSED)を展開して補います(MS-OXRTFCP)。HTML のメールを RTF に包んだものは元の HTML に(MS-OXRTFEX)、それ以外は文字だけになります。RTF が壊れていてほかに本文も無いときは、そう表示します。
対応していない範囲
メッセージ内に埋め込まれたメッセージは、一覧には出ますがメッセージとしては展開しません。圧縮 RTF でしか入っていない本文も表示しますが、リッチテキストで書かれた本文は書式を落として文字だけを表示します。暗号化・署名済みの S/MIME も復号しません。
よくある質問
.msg ファイルとは何ですか?
Outlook がインストールされている必要はありますか?
メールはどこかにアップロードされますか?
添付ファイルは取り出せますか?
他のツールだと日本語の添付ファイル名が文字化けするのはなぜですか?
.msg と .eml の違いは?
開けないメッセージはありますか?
関連記事
msgファイルの開き方 — Outlook が無くても開ける3つの方法
.msg は Outlook 専用の形式で、Gmail や Mac のメールでは開けません。ブラウザで今すぐ開く方法、Outlook で開く方法、無料ビューアを使う方法と、本文が空になる・開けないときの原因をまとめました。
EMLファイルとは?中身の仕組みと、開けないときの対処法
EMLファイルは、メール1通をインターネットのメールの規格(RFC 5322・MIME)どおりのテキストで保存したファイルです。見本のファイルで中身を上から読み、保存・表示できるアプリと、開けない・文字化けする・本文が出ないときの確かめ方をまとめました。
emlファイルの開き方 — Outlook が無くても開ける4つの方法
Outlook が無くても .eml ファイルは開けます。ブラウザで今すぐ開く方法、Windows に入っている新しい Outlook、Thunderbird、テキストエディタの 4 つを、Microsoft と Mozilla の情報に沿って手順つきでまとめました。
EML と MSG の違い:Outlook で保存するならどちらを選ぶか
EML と MSG の違いを、中身・開けるアプリ・保存のしかたで比べます。Outlook(従来版・新しい Outlook・Web)、Gmail、Mac のメールで何として保存されるかと、迷ったときの選び方まで。