私は現在、制限付きの電子メール機能をアプリケーションに追加する任務を負っています。これは、Outlook がインストールされていないが、Outlook Express、Windows Live メールなどのいずれかがインストールされている Windows PC のみを対象としています。PC は社内用ではなくクライアント用であるため、メール サーバーの詳細を取得することはできません。また、クライアントが Exchange を持っていない可能性があるため、 CDO や拡張 MAPIを使用することもできません。また、機能を実装するための Web サービスを作成することは、実装するにはコストがかかりすぎるため禁止されています。
当然、サードパーティのライブラリを使用して調べましたが、私が見つけた最高のものRedemptionは、拡張 MAPI を使用し、Exchange または Outlook とのみ通信するため、私が知る限りではありません。
添付ファイルを含める必要があるため、単純な mailto リンクでは不十分です。
次に、これに基づいていくつかの .NET コードを開発しました。これはほとんど動作しますが、Outlook クライアントがインストールされていない限り添付ファイルなしでのみ動作し、マネージ コードは長期的にはMAPI と互換性がないという問題がいくつかあります。通常、メインの開発マシンでは問題なく動作しますが、これまでのところ、Outlook Express を使用した XP と Windows メールを使用した Vista でしかテストできず、添付ファイルはそれらのいずれでも機能しません。
さらに調査したところ、MAPI32.dll の単純な MAPI 関数を C++ または VB6 の COM ラッパーで記述することが唯一の信頼できる解決策であることがわかりました。VB6 を作成したくありませんが、それが私にとって最も簡単な解決策であり、C++ は私のスキルセットの範囲外であり、すべてのアプリケーションで使用したマネージ コードよりもうまく機能するかどうかは疑わしいです。関連する OS およびメール クライアントのシナリオ。
上記の制限の下で、添付ファイル機能を備えた電子メールを確実に実装するにはどうすればよいですか?