だから私はこのトピックについてたくさんの研究をしました。COMアプローチがあり、それを実装するのにかなりの時間を費やしました。それはIMessage、IConverterSession、いくつかのリフレクションなどを含んでいました。私が見つけたほとんどの回答は、これはC#では使用できないことを示唆していますが、私には方法があるようです。とにかく、私が今までに得たクローズは、空のIStreamオブジェクト(長さ= 0)を受け取ることでした。このメソッドを完全に削除することにしたもう1つの理由は、64ビットバージョンのOutlook2010では機能しない可能性があるという報告です。
より明白な方法は、OutlookからMailItemを取得し、そこからMIMEメッセージの作成を開始することでした。これは非常に面倒でエラーが発生しやすいようです+MIME機能の解析/構築でコードがさらに肥大化します。
OutlookメールアイテムをMIMEメッセージに簡単に変換するために、既存の.NETクラスをそのままにしておく別の方法があるかどうかを考えていました。MailMessage/SmtpClientクラスでうまくいくかもしれないと思いました。だから私はこれをしました:
SmtpClient client = new SmtpClient();
client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
それ以降、メッセージを受け取ることができました(名前を指定できないため、メッセージごとに新しいDropディレクトリを指定しています)。
したがって、実際にファイルを保存せずにコンテンツを取得できるかどうかを確認するために熟考する前に、.Netに別のフィールド(from、to、subject、body、attachments)からMIMEメッセージを作成する他の組み込みの方法はありますか? 、私はMailItemを私からすぐにMIMEメッセージに変えるメソッドを主張しませんが(存在する場合はそれは良いでしょうが)、少なくともいくつかのオブジェクトにプロパティを設定し、そこから構築されたメッセージを取得することができます後で?
どうもありがとう!