Outlook 2010/2007/2003 でメールを送信すると添付ファイルが消えたり、WINMAIL.DAT というファイルになる問題


日本マイクロソフトのサポートチームの公式ブログでこの現象についての情報が公開されました。

Outlook 2010/2007/2003 でメールを送信した場合によく発生するトラブルとして以下のようなものがあります。

  • Outlook Express で受信すると添付ファイルがなくなる。(一覧にクリップマークすら表示されない)
  • 添付ファイルをつけていないのに、WINMAIL.DAT というファイルがつく。
  • 添付ファイルが WINMAIL.DAT というファイルに置き換わってしまい開けない。

これらはすべて Outlook が Transport Neutral Encapsulation Format (以下、TNEF) というフォーマットによりメールを送信することで発生しています。
この記事では、TNEF の概要と使われる条件、回避策について記述しています。

TNEF の概要

TNEF とはメールの送受信に使われるプロトコルに依存せず (Transport Neutral) に、Outlook の処理に必要なデータをカプセル化 (Encapsulation) して送信する形式 (Format) のことであり、カプセル化されたデータは WINMAIL.DAT というファイル名で添付されます。受信側が Outlook (Outlook Express ではなく Office シリーズの Outlook) や Exchange Server を使用していた場合、この WINMAIL.DAT をデコードすることで、Outlook 固有のさまざまな機能やプロパティを正しく送信することが可能になります。

しかし、添付ファイルのデータも WINMAIL.DAT にカプセル化されてしまうため、TNEF を認識できないメールソフトで受信した場合には添付ファイルが WINMAIL.DAT に置き換わったように見えます。
また、Outlook Express は WINMAIL.DAT を解読できないことがわかっているため、その添付ファイルを無かったものとしてしまい、クリップマークすら表示しません。 なお、クリップマークすら表示されないので、「添付ファイルが削除された」と勘違いされる方もいますが、実際には添付ファイル自体は削除されず残っているので、スクリプトを使えば添付ファイルを取り出すことが可能です。

なお、この現象は Outlook の不具合と受け止められることが多いのですが、基本的には Outlook 固有の機能を使った場合にデータの損失を防ぐための仕様になります。

TNEF が使われる条件

では、どのような場合に TNEF になってしまうのでしょうか?
TNEF は以下のような場合に使用されます。

  1. Outlook のリッチテキスト形式をメールを作成した場合
    インターネットで一般的に使用されている本文のフォーマットはテキスト形式または HTML 形式であるため、Outlook のリッチテキスト形式で作成されたメールは TNEF で送信するか、HTML 形式などに変換する必要があります。
    既定では自動的に HTML 形式に変換されるのですが、HTML 形式に変換できないデータが含まれている場合には TNEF で送信されます。たとえば、ページの色や Excel の埋め込みオブジェクトなどが変換できないデータになります。
  2. あて先や Cc などに指定した受信者のアドレスのプロパティで [インターネット メール形式] が [Outlook リッチ テキスト形式で送信] になっている場合
    メールの形式をテキストや HTML にしたとしても、アドレスのプロパティで [Outlook リッチ テキスト形式で送信] が選択されている場合、その受信者には TNEF で送信されます。この場合、受信者が Outlook を使っていると送信者が作成した形式で表示されます。たとえば、HTML 形式のメールをこのオプションで送信した場合、受信者が Outlook を使っていれば HTML 形式で表示され、Outlook 以外であればテキスト形式で表示されます。
    既定では [インターネット メール形式] は [最適な送信形式を自動的に選択する] になっているはずですが、個人用アドレス帳からインポートした配布リストを使用した場合に、見かけ上は [最適な送信形式を…] になっているにもかかわらず、実際にはリッチテキスト形式が設定されることがあります。
  3. メールに特殊なプロパティが設定されていた場合
    メール フォームをカスタマイズしていたり、OFT や MSG として保存したメールをテンプレートとしてメールを作成したような場合に、通常設定されないプロパティが設定されることがあり、このような場合も TNEF が使われます。たとえば、投票ボタンを設定すると TNEF で送信されます。
    なお、意図せずプロパティが設定されることもあり、そのようなプロパティが設定されているかどうかを確認することは困難です。

注意しなければならないのは、2. や 3. の条件に合致するとメールの形式をリッチテキスト形式以外にしても TNEF 形式になることがあるという点です。

TNEF が送信される現象の回避策

Outlook 2010/2007 の場合

お使いの Outlook が 2010 または 2007 であり、インターネットのアカウント (SMTP/POP/IMAP) を使用している場合、下記のページの Fix it ボタンをクリックすることで現象を回避できるようになります。

KB958012 – Outlook 2010 または Outlook 2007 を使用して電子メール メッセージを送信すると、Winmail.dat という添付ファイルがメッセージの受信者に表示される

なお、Exchange サーバーを使用している場合には、この設定は使用されませんので、Exchange サーバー側で設定を行ってください。

Outlook 2003 の場合

Outlook 2003 では上記のように完全に TNEF での送信を禁止する方法がないため、TNEF で送信される条件を一つずつ排除していく必要があります。
まず、[ツール]-[オプション]-[メール形式] で、[このメッセージ形式で作成する] を [HTML 形式] または [テキスト形式] にします。さらに、[インターネット メール形式] をクリックし、[Outlook リッチ テキスト形式オプション] を [HTML 形式に変換] または [テキスト形式] にします。
上記の設定は既定ではともに HTML 形式となっているはずです。

そして、メールを送信する際にはあて先を事前に [連絡先] に登録し、メールアドレスを入力した後にメールアドレスをダブルクリックし、[インターネット メール形式] を [Outlook リッチテキスト形式で送信] 以外にします。

これらの設定を行っても現象が起こるようなら、メールに特殊なプロパティが設定されるような方法でメールを送信しないようにします。なぜ発生しているのかがわからない場合は、以下のレジストリ設定を行うことで特殊なプロパティが設定されても TNEF で送信しないようになり、回避できることがあります。

レジストリ キー: HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Options\Mail
データの名前: DontEncodeCustomNote
データの種類: DWORD
データの値: 1

Exchange サーバーを使用している場合

Exchange サーバーではサーバー側の設定により TNEF での送信を完全に禁止することができます。設定はリモート ドメイン単位で行えるため、Exchange サーバーを使用している組織には TNEF での送信を許可し、それ以外には TNEF での送信を禁止するということも可能です。

リモート ドメインでの TNEF 設定の詳細については、以下の URL を参照してください。

Exchange Server 2010: http://technet.microsoft.com/ja-jp/library/bb310786(EXCHG.140).aspx

Exchange Server 2007: http://technet.microsoft.com/ja-jp/library/bb125174(EXCHG.80).aspx

回避策による副作用

上記の設定を行って TNEF での送信を無効にすると、以下のような制限事項が発生しますので、ご注意ください。

  • 投票ボタンの機能が使用できない。
  • 仕事の依頼ができない。
  • Outlook 2002 以前の Outlook に会議出席依頼を送信しても、テキスト形式の通常のメッセージになる。
  • カスタムフォームが送信できない。
  • Excel ワークシートの一部などを OLE オブジェクトとして埋め込んで送信することができない。

参考情報

Outlook で送信したメールの添付ファイルが消える – Outlook Support Team Blog JAPAN
Outlook で送信したメールの添付ファイルが消える: WINMAIL.DAT が添付される現象の回避方法

受信者が WinMail.dat ファイルが添付されたメッセージを受信する

メッセージの受信者側で発生した問題を解決する

OL2000: TNEF を使わないでカスタム フォームを送信する方法

– 更新履歴

2010/10/10 Outlook 2010 の情報を追加し、構成を若干変更しました。

Outlook 2010/2007/2003 でメールを送信すると添付ファイルが消えたり、WINMAIL.DAT というファイルになる問題」への31件のフィードバック

  1. 添付ファイルが WINMAIL.DAT というファイルに置き換わってしまい開けないという状況があり、このサイトを見つけましたので早速レジストリの設定変更をおこなおうとレジストリファイルを開きましたが、該当するデータDontEncodeCustomNoteが見あたりません。 ちなみにOutlook 2003なので11.0をひらきました。 どなたか対処方法をご存じでしたらお教えください。 

  2. DontEncodeCustomNote は既定の状態では存在しません。[編集]-[新規]-[DWORD 値] で新規に値を追加する必要があります。

  3. この症状で非常に困っています。根本的な解決策はないのでしょうか?よろしくお願いします。

  4. To: walrus さん回避策は記事にある通りです。Outlook 2007 であれば修正プログラムを適用してレジストリ設定をすることによりどのような状況でも WINMAIL.DAT を送信させなくすることはできます。しかし、基本的には WINMAIL.DAT は必要な場合に添付されるものですので、添付されないようにするには「必要となるような状況にしない」というのが根本的な解決策です。例えば、・リッチテキスト形式は使わない。・フォームのカスタマイズや返信ボタンなど Outlook 固有の機能は使わない。・メッセージ本文に Word や Excel などからデータをコピーしない。・msg ファイルを下書きやテンプレートに使わない。などです。実のところ、Outlook 2003 や Outlook 2007 の既定の設定では WINMAIL.DAT が付いて送信される状況にはなりません。上記のような特別な操作をした場合に WINMAIL.DAT が送信されます。

  5. この症状で非常に困っています。Outlook 2010を使用しているので解説の通りレジストリの修正をしたいのですが、方法を確認するため「こちら」をクリックしたのですが表示されません。どなたかアドレスを知りませんか。

  6. せっかくoutlooklabさんが変更後のアドレスを教えてくれたのにまた変更されています。最初のお礼のコメントの時にダウンロードしていたので助かりましたが・・・。なぜ?

  7. 添付ファイルが WINMAIL.DAT というファイルに置き換わる、又は消えてしまいクリップマークも付かない現象について、ほとほと困っておりましたが、outlook研究所さんのページを拝見して、私だけでなかったこと、原因究明と対処法を知ることが出来ました。ありがとうございました。もっと早く調べておけばよかった・・・。大抵は2回目ないし3回目には回避されてました。ところで以前のバーションで無くなっちゃった時にはそのメールを「転送」しようとすると、復活してきていたので、そこから引っ張ってきたりしていたのですが、2007はそれでは出てこないのでしょうか?もしそれが出来ると簡単で相手にも教えやすいのですが・・・?検証出来るようでしたら教えて頂ければ幸いです。

    • WINMAIL.DAT がついて添付ファイルが消える問題と、ファイルの種類によって削除されたように見える現象は別物です。
      WINMAIL.DAT がついて添付ファイルが消える場合には、そのメールを転送しても添付ファイルは表示されません。
      転送して添付ファイルが表示されるようになるのはそのファイルが危険とみなされている場合です。なお、Outlook 2007 以降では危険なファイルは転送しても表示されなくなりました。

  8. 新しいwin7パソコンではwindows live mailを使っています。
    .datファイルの添付を避けるには上記と同じレジストリーの変更が必要でしょうか、
    ご教示頂ければ幸甚です。

  9. 早速の返信ありがとうございました。
    また、outlook mailを使っているパソコンは、ご教示のregister変更を実行し、永らく悩まされた.datファイル添付が解決しました。厚く御礼申し上げます。

     中野 拝、

  10. 有用な情報をありがとうございます。当方、出版に携わっているのですが編集者と執筆者間でのデータのやり取りでよくこの現象が発生していましたので大変助かっております。
    取り急ぎ御礼までにて。

  11. Outlook 14.0から送られたエクセルファイル(4っつ)がThunderbirdでは1つのWINMAIL.DATファイルになり
    Outlook Expressでは見かけ上は添付ファイルがない状態で送信されてきました。

    送信側に圧縮ファイル(ZIP)で送ってもらう事で問題が解決されました。ご参考までに書いておきます。

  12. FIT itで添付ファイルは付いて行くようになりました。ありがとうございました。ただ、受け取り側のOulookExpressの添付ファイルの窓が小さく、取り出しにくいバグが発生しました。メールを開かずに右側のクリップアイコンから取り出すことで解決できました。
    M.Tanaka

  13. ありがとうございました。 原因と考えるのはexcelの一部のセルに網目を設定したことと思われます。

コメントを残す