MFCアプリケーションでMAPISendMail()を使用していますが、ウェブメールクライアントが「実際の」添付ファイルではなくwinmail.dat添付ファイルを受信することがあるという問題があります。
私は多くの調査を行い、他の人もこの問題を経験していることを発見しましたが、解決策を見つけられませんでした。
メールプログラム(私の場合はOutlook 2010)にファイルの種類を自動的に判断させるために、lpFileTypeメンバーをNULLにしたままにする MapiFileDesc構造に問題がある可能性があると思います。lpFiletypeはMapiFileTagExt構造であり、ドキュメントには次のように記載 されています。NULLの値は、不明なファイルタイプまたはオペレーティングシステムによって決定されたファイルタイプを示します。
したがって、これはJPEGやGIFなどの一般的なタイプで機能するはずです。
winmail.datは、OutlookがMicrosoft独自のms-tnefエンコーディングでエンコードされたメールを送信したことが原因であると読みました。ただし、電子メールを送信すると、OutlookはRTFではなく「HTML」を強調表示して表示します。
誰かがこの問題に遭遇し、適切に解決しましたか?
ユーザーは送信済みアイテムフォルダにメッセージのコピーを持っている必要があるため、SMTPなどを介して送信することはできません。Outlookオブジェクトモデルを使用することはできません。これは、ユーザーがOutlookをインストールしている必要があり、MAPI互換のクライアントが必要ないためです。