情シスはOutlookのWinmail.dat化け現象を防ぐ必要がある!一括で防ぐ方法を教えます。

Outlookから外部へ送った添付が受信側でWinmail.datになる問題は、Exchange Onlineが送信するMicrosoft固有のTNEF形式を相手側クライアントが展開できないときに起こります。情シスが一括で防ぐ本命は、Exchange Online PowerShellで送信先Remote DomainのTNEFを無効化することです。利用者全員の作成形式をプレーンテキストへ固定する方法ではありません。まず読み取りだけで現状を保存し、問題がある相手ドメインだけを対象にし、外部受信者へ試験送信してから範囲を広げます。

最初から既定のRemote Domain「Default(*)」を変更すると全外部宛てに影響します。特定パートナーだけで発生しているなら、そのSMTPドメイン専用のRemote Domainを作る方が安全です。

目次

原因と、設定の優先関係を理解する

TNEFはリッチテキスト、添付、会議や投票などOutlook固有のMAPIプロパティを運ぶ形式です。相手がTNEF非対応だと、添付本体がWinmail.datの中に見えたり、書式や会議情報の一部を扱えなかったりします。TNEFEnabled は三値で、$true は常にTNEF、$false はTNEFを使わない、$null はRemote Domainで決めず、メールユーザー/メール連絡先の UseMapiRichTextFormat、Outlookの受信者別Internet format、送信者の既定形式へ判断を委ねます。

そのため、$null のままでは古い連絡先やオートコンプリートの受信者別設定により一人だけ再発することがあります。反対にRemote Domainを $false にすると、その宛先ドメインでは受信者別のTNEF指定より管理者側の禁止を優先できます。ただしHTMLをプレーンテキストへ変換する設定ではなく、通常のMIMEへ変換する制御です。

1. 変更前にGet-RemoteDomainで読み取る

Exchange Online PowerShellへ、Remote Domainsを管理できる最小限の役割で接続します。まず変更を伴わないコマンドだけを実行し、Defaultと個別ドメインの重複、DomainName、TNEFEnabledをチケットへ保存します。相手が mail.partner.example を使っていても、実際の宛先SMTPドメインが partner.example なら後者を対象にします。表示名だけで判断しません。

Get-RemoteDomain | Sort-Object DomainName |
  Format-Table Name,DomainName,TNEFEnabled,IsInternal -Auto

$before = Get-RemoteDomain -Identity "Partner Example" |
  Select-Object Name,DomainName,TNEFEnabled

$before.TNEFEnabled が空欄なら値は $null です。画面の文字列ではなくPowerShellオブジェクトとして保持し、変更対象のIdentity、実行者、時刻も記録します。既存のRemote Domainには自動応答、転送、文字セットなど別のメールフロー設定が含まれるため、TNEF以外を上書きする一括コマンドは使いません。

2. 適用範囲を選ぶ

  • 特定会社だけでWinmail.datが出る:その単一SMTPドメイン用Remote Domainを作成または更新する。
  • 同じ会社の複数サブドメインが対象:実際の宛先を列挙し、必要なら個別定義を追加する。広いワイルドカードは誤対象をレビューする。
  • 全外部宛てで互換性を優先:Default(DomainNameが*)を候補にするが、会議、投票、カスタムフォーム、外部業務連携を全社パイロットで確認する。
  • ハイブリッド:最終的に外部配送するExchange組織側を変更する。クラウドとオンプレミスの両方を無条件に変えない。

3. Remote Domainを作成または更新する

該当ドメインの定義がない場合

名前は運用者が識別できる一意の値にし、DomainNameは送信先のSMTPドメインへ限定します。作成直後にTNEFだけを無効化します。

New-RemoteDomain -Name "Partner Example - No TNEF" -DomainName partner.example
Set-RemoteDomain -Identity "Partner Example - No TNEF" -TNEFEnabled $false

既存定義がある場合

既存Identityを読み取りで再確認し、そのオブジェクトのTNEFEnabledだけを変更します。Defaultを変える場合もコマンドは同じですが、影響は全外部宛てです。

Get-RemoteDomain -Identity "Partner Example" |
  Format-List Name,DomainName,TNEFEnabled
Set-RemoteDomain -Identity "Partner Example" -TNEFEnabled $false

実行後は再度 Get-RemoteDomain を行い、DomainNameが想定どおりでTNEFEnabledがFalse、他のRemote Domain設定が変更前と同じであることを確認します。コマンド成功表示だけで完了にしません。

4. 外部受信者で安全に検証する

  1. 相手先の協力者と試験時刻を決め、機密でない短い本文と小さなTXT、PDFを新規メールで送る。既存スレッドの返信だけでは受信者別形式を引き継ぐことがある。
  2. 受信側でWinmail.datが無いこと、元のファイル名・サイズ・内容・日本語が正しいことを確認する。受信したWinmail.datを一般の解凍サイトへ上げない。
  3. 同じ相手へHTML本文、プレーンテキスト、通常添付、会議依頼・更新・キャンセルを送り、必要な機能を確認する。
  4. 影響対象外の外部ドメインと社内宛ても各1通確認し、限定設定が他へ漏れていないことを確かめる。
  5. メッセージ追跡の時刻・Message IDと相手の受信結果を対応させ、24~48時間は添付欠落、不達、会議崩れの問い合わせを監視する。

例外とデータ損失・書式のトレードオフ

TNEFを無効にするとWinmail.dat互換性は改善しますが、Outlook固有の投票ボタン、カスタムフォーム、埋め込みOLE、特定の会議プロパティ、リッチテキストの細部が通常MIMEへ完全には写らない場合があります。これは「見た目だけ」の問題とは限らず、業務アプリがTNEF内プロパティへ依存していれば機能情報を失う可能性があります。重要な相手には添付、会議応答、タイムゾーン、オンライン会議リンク、署名を受入テストします。

相手が正式にTNEF対応で業務上必要な場合は、そのドメインだけ $null または $true を検討できます。ただし受信者一人だけの例外を理由に会社ドメイン全体でTNEFを強制しないでください。個別メールユーザー/連絡先の UseMapiRichTextFormat とOutlookの受信者プロパティを調べ、例外の所有者、期限、再試験日を台帳化します。

正確なロールバック

既存Remote Domainを変更した場合は、変更前に保存した三値へ戻します。元が空欄なら $null を明示します。作成した専用Remote Domainを撤回する場合は、まず対象ドメインへの試験を止め、Defaultが意図した値であることを確認してから、その作成物だけを削除します。

# 既存定義を元の値へ戻す
Set-RemoteDomain -Identity "Partner Example" -TNEFEnabled $before.TNEFEnabled

# 今回新規作成した定義だけを撤回する
Get-RemoteDomain -Identity "Partner Example - No TNEF"
Remove-RemoteDomain -Identity "Partner Example - No TNEF" -Confirm:$true

ロールバック後も Get-RemoteDomain で値を読み取り、同じ外部受信者へ再試験します。設定を戻しても既送信メールは変換し直されないため、添付や会議情報が欠けたメールは原本から安全に再送します。プレーンテキストGPOを併用していた場合は別変更として元のポリシーへ戻し、HTML署名や表が復元したことを確認します。

公式情報・参考資料

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメント一覧 (2件)

  • HTML形式で使用していましたが、PDFファイルを添付したら携帯側で添付書類winmail.datになっていましたが、TEXT形式で送りなおすと、PDFファイルで受信していました。
    今までこんなことは、無かったのですが

コメントする

目次