winmail.datをZIPファイルに変換してダウンロードできるようにしてみた。
2026年09月04日 12時00分
月齢:22.8[弓張月(下弦)] 潮汐:小潮 旧暦:2026年07月23日 六曜:大安
2週間前に投稿 | ウェブ・IT関係 | 8件のコメント
2分ぐらいで読めます。
メールソフトはThunderbirdがナンバーワンでオンリーワンなのですが、世の中にはOutlookが蔓延しています。ボクの表向きの勤務先も、Outlookの呪縛をモロに受けています。
Outlookは昔に比べればマシになったとはいえ、相変わらず独自の仕様で善良なThunderbirderを困らせる…その1つが、winmail.datという謎の添付ファイル。
winmail.datは、Microsoft Outlookが独自形式(TNEF)でメールを送ったときに生成される添付ファイルです。
何が入っているの?
winmail.datの中には、もともとのメールに含まれていた情報が入っています。たとえば、
- WordやExcelなどの添付ファイル
- Outlookで設定した書式(太字、色、表など)
- Outlookの連絡先情報
- リッチテキスト形式のメール情報
- 会議出席依頼など、Outlook特有のデータ
などです。
つまり、
「怪しい謎のファイルが勝手に添付された」というより、Outlook独自のメール形式をThunderbirdがそのまま受け取ったものと考えると分かりやすいです。
なぜThunderbirdだとwinmail.datになるの?
たとえば、
Outlook → Thunderbird
という経路でメールが送られ、送信側のOutlookが「リッチテキスト形式(TNEF)」で送信すると、Thunderbird側ではその特殊な情報をうまく解釈できず、
winmail.dat
という添付ファイルとして表示されることがあります。
受信側でできる対策として、Thunderbirdに「LookOut(fix version)」というアドオンを入れる方法があります。
ま、この方法で解決できるのですが…いい機会なのでAIとの対話で1から作ってみようと思い、ChatGPTで作ってみました。
Outlookが生成したwinmail.datから添付ファイルを抽出し、ZIPとしてダウンロードします。ZIP作成時のみPHPの一時領域を使用してファイル名等を取得しますが、ZIPファイル送信後に削除するので変換ファイルはサーバー側には一切保存されません。
あまり需要はないと思うケド、もし興味があれば使ってみてくださいネ。












