3

私は C# Outlook アドイン アプリケーション (VS2005 および 2003 Outlook) を使用しています。このアプリケーションは、受信メールを読み取り、今後の処理のために添付ファイルとメール テキストの本文を取り除きます。時折、デジタル署名を含む電子メールを受け取ります。mailitem.body プロパティにアクセスしようとすると、アプリケーションが失敗し、次の例外がスローされます。

System.Runtime.InteropServices.COMException (0xAB404001): 操作に失敗しました。Microsoft.Office.Interop.Outlook._MailItem.get_Body() で MyLib.MyApp.OutlookAddin.MailProcessor.ProcessMailItem(MailItem mailItem) で

電子メールを自分自身に転送すると、元の送信者のデジタル署名が取り除かれ、アドイン アプリケーションが問題なく電子メールを処理するため、問題の原因はデジタル署名であると確信しています。どうすればいいのかわからない。メールを処理する必要があるため、無視することはできません。どういうわけか、例外をスローせずに元のメールの本文を取得することが理想的です。または、電子メールに関連付けられたデジタル署名があることを特定できれば、その電子メールを自分に転送できると思いますが、それは少し面倒です。誰か提案/修正がありますか? 助けてくれてありがとう。

4

1 に答える 1

1

フォローアップ。私がやったことは、try..catch ブロックで get_body 呼び出しをスローすることでした。エラーが発生した場合は、手動で処理するためにメールを別の Outlook フォルダーに移動しました。Microsoft のフォーラムに投稿した質問と、受け取った回答へのリンクを次に示します。 http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/d8b29cff-7656-4440-920a-21047c1ff82f

于 2010-06-17T14:01:05.323 に答える