winmail.dat ビューア&抽出ツール
Microsoft Outlookのwinmail.datファイルを開きます。メール内容の表示や添付ファイルの抽出 — すべてブラウザ内で完結、アップロード不要。
あなたのファイルは安全です — すべてブラウザ内で処理。サーバーには一切送信しません。
winmail.datファイルをここにドロップ
またはクリックしてファイルを選択
winmail.datファイル(TNEF形式)に対応。
winmail.datファイルの開き方
「winmail.dat」という不思議な添付ファイル付きのメールを受け取ったことはありませんか?このファイルは、Microsoft OutlookがTNEF(Transport Neutral Encapsulation Format)という独自の形式でメールを送信する際に作成されます。Gmail、Apple Mail、Thunderbirdなどの非Outlookメールクライアントではこの形式をデコードできないため、開けない添付ファイルとして表示されます。
当社のwinmail.datビューアは、ブラウザ内でメールの内容と添付ファイルを直接抽出します。独自開発のTNEFデコーダーを使用してローカルで解析するため、サーバーにはデータは一切送信されず、メールの内容は完全にプライベートに保たれます。
winmail.datファイルを選択
winmail.datファイルをアップロードエリアにドラッグ&ドロップするか、クリックしてデバイスからファイルを選択します。一度に1つのファイルを処理します。
メール内容を確認
ツールが自動的にファイルを解析し、メールの件名、差出人情報、本文を表示します。HTML形式のメールの場合、プレーンテキストとHTMLビューを切り替えることができます。
添付ファイルをダウンロード
winmail.datファイルに埋め込まれたすべての添付ファイルが、ファイル名、サイズ、種類とともに一覧表示されます。各ファイルを個別にダウンロードするか、「すべてZIPでダウンロード」ボタンで一括ダウンロードできます。
解析処理は一般的なwinmail.datファイルに対してほぼ瞬時に完了します。独自のTNEFパーサーを使用してブラウザ内でローカルに処理されるため、機密添付ファイルを含むメールデータがデバイスから離れることは一切ありません。なお、この添付ファイルはメールソフトによって「win.dat」「windat」「ウインメール」「ウィンメール」「ATT00001.dat」などと表示されることがありますが、いずれも同じ TNEF 形式で、このツールですべて開けます。
この winmail.dat ビューアの仕組み
TNEF をブラウザ内でデコードできる JavaScript ライブラリが存在しなかったため、このツールのパーサは TypeScript でフルスクラッチ実装しています。ファイルを端末から出さずに済むのはそのためで、サーバー処理という逃げ道は用意していません。
TNEF は属性レコードが平坦に並んだ構造です。まず 0x223e9f78 のシグネチャを確認し、各レコードのレベル・属性 ID・長さ・データを順にたどっていきます。
- 読み取っているメッセージ属性
- attSubject(0x8004)、attFrom(0x8000。TRP ヘッダ分をスキップ)、attBody(0x800c)、および MAPI プロパティブロック(0x9003)です。MAPI 側の Unicode 値を旧来の ANSI 版より優先するため、日本語やアクセント付きの件名がそのまま保持されます。
- 読み取っている添付属性
- attAttachRendData(0x9002)で添付1件分が始まり、attAttachTitle(0x8010)と attAttachData(0x800f)が旧来のファイル名と実データを、添付ごとの MAPI ブロック(0x9005)がより正確なファイル名を持っています。
- ファイル名の解決順序
- PidTagAttachLongFilename(0x3707)→ PidTagAttachFilename(0x3704)→ PidTagDisplayName(0x3001)→ 最後に旧来の ANSI の attAttachTitle、の順で採用します。旧来フィールドしか見ないツールが、日本語ファイル名を文字化けさせている原因です。
- 文字コードの扱い
- OEM コードページ属性(0x9007)を最初に読み、それ以降の ANSI 文字列すべてのデコード方式を決定します。Shift_JIS(932)、GBK、EUC-KR、Big5、Windows-125x 系、UTF-8 に対応。MAPI の文字列は UTF-16LE として解釈します。
- HTML メールの安全性
- 見知らぬ相手から届いた HTML 本文は信用できない入力です。DOMPurify で許可タグ・許可属性を明示したうえでサニタイズし、さらにサンドボックス化した iframe 内に描画して、周囲のページに手を出せないようにしています。
対応していない範囲
TNEF コンテナ内の暗号化・署名済み S/MIME はデコードしません。また、すべてタブ内で処理する以上、非常に大きな winmail.dat をメモリの少ないスマートフォンで開く場合の上限は、サーバーではなくその端末のメモリになります。