準備されたメッセージを添付ファイル付きで、ユーザーのデフォルトのメール クライアントに読み込むにはどうすればよいですか?
それに対する答えを探し回ったところ、次のことがわかりました。
「mailto:」URL で Process.Start() を使用しても機能しません。これは、mailto: が添付ファイルをサポートしていないためです (Outlook を除き、Outlook が既定のクライアントであることに依存することはできません)。
このCode Project MAPI ラッパーは、明らかにアプリをブロックするため、機能しません。
次に、この MAPI Wrapperがあります。これは明らかにアプリをブロックしませんが、現在のディレクトリを変更し、アプリ内の多くのものを壊します。そのうちのいくつかは別のスレッドで実行されているため、変更するだけでは信頼できませんそれを戻します。
そして、上記を試して現在のディレクトリの問題を発見した後、MAPI スタブ ライブラリの問題を非難するこのブログ投稿に出くわしました。
MAPI スタブ ライブラリは非推奨であることが指摘されています。
それは私に尋ねます:
C# アプリケーションで、添付ファイルを含む電子メール メッセージを作成し、それをユーザーの既定のメール クライアントに読み込む方法はありますか? クライアントが Outlook であることに依存せず、実行中にアプリの UI をブロックしません。 、アプリの現在のディレクトリをその下から変更せず、非推奨で間もなく削除されるシステムライブラリに依存していませんか?