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