У меня есть приложение C # Outlook Add-In (VS2005 и 2003 Outlook), которое считывает входящие электронные письма и удаляет вложения и текст сообщения для дальнейшей обработки. Иногда я получаю электронное письмо с цифровой подписью. При попытке получить доступ к свойству mailitem.body произойдет сбой приложения, выдав следующее исключение:
System.Runtime.InteropServices.COMException (0xAB404001): операция не выполнена.
в Microsoft.Office.Interop.Outlook._MailItem.get_Body ()
в MyLib.MyApp.OutlookAddin.MailProcessor.ProcessMailItem (MailItem mailItem)
Я почти уверен, что именно цифровая подпись вызывает проблему, потому что, если я переадресую электронное письмо обратно на себя, оно удалит цифровую подпись исходного отправителя, и приложение-надстройка обработает электронную почту без проблем. Я не уверен, что делать. Мне нужно обработать письмо, поэтому я не могу просто проигнорировать его. Каким-то образом было бы идеально получить тело исходного письма без исключения. Или я предполагаю, что если я смогу определить, что с электронной почтой связана цифровая подпись, я мог бы переслать письмо самому себе, но это выглядит немного грязно. У кого-нибудь есть какие-либо предложения / исправления? Спасибо за любую помощь.