2008 年、Jeff は責任を持ってクラッシュするという記事を書きました。その精神で、クラッシュエラーダイアログに「バグレポートを送信」ボタンを追加しようとしています。これは、バージョン情報、OS 情報、スタック トレースを含む完全なバグ レポートをユーザーが簡単に送信できるようにするためです。この情報は、メッセージ本文または添付ファイルに含める必要があります。
残念ながら、.NET アプリケーションからこのようなメールを送信するのは簡単ではないようです。
- System.Net.Mailは私が探しているものではありません: SMTP サーバーへの接続がすべての環境で確立できるかどうか確信が持てず、ローカルの SMTP ホスト名を構成する負担をかけたくありません。ユーザーのポート。代わりに、事前に構成されたメッセージを使用して、システム上の既存の電子メール ソフトウェアを起動したいだけです。
- OS を使用して "mailto:" URL を開くことはできますが、この方法で渡すことができるデータの量には厄介な制限があります。また、添付ファイルは実際にはmailto 仕様でサポートされていないようです。
- mapi.dllは、このコードプロジェクトの記事で示されているように、おそらく私が望むことを実行しますが、 mapi.dll は基本的に .NET と互換性がなく、ランダムなクラッシュを引き起こすことを他の場所で読みました。
これを行うための安全で信頼できる解決策を見つけた人はいますか?