VC/ATLを使用してOutlookアドインを作成しています。この特定のアドインは、選択された電子メールメッセージを受け取り、それらをディスクに書き込みます。また、関連するすべての添付ファイルをディスクに書き込みます。次に、Outlookの外部のアプリケーションにすべてを読み込みます。
Outlookオブジェクトモデルを使用すると、_MailItemとAttachmentの両方にSaveAsメソッドがあるため、これは非常に簡単です。問題は、添付ファイルが埋め込まれた電子メール自体である場合に発生します。これも、分割して個別のファイルとして保存する必要があります。
理想的な世界では、_MailItemインターフェースの添付ファイルを照会して、選択の通常の部分のように処理することができます。ただし、QueryInterfaceは「インターフェイスなし」を返します。
Outlook XP(2002)からOutlook 2010までで動作するソリューションが必要です。Outlook2007では、アプリケーションオブジェクトにメソッド(CreateItemFromTemplate)があり、ディスクに保存されたメッセージからMailItemを取り戻すことができます。 Outlook XP/2003では機能しません。送信者/受信者の情報もそのまま必要です。
また、サードパーティの償還ライブラリが拡張MAPIを使用してこれを実行できることも知っています。ただし、サードパーティのライブラリの使用は避けようとしています。