Вопрос: Я получаю следующее сообщение об ошибке при открытии файлов .MSG с помощью Outlook API для открытия электронных писем:
Невозможно привести COM-объект типа
'System .__ ComObject' для типа интерфейса
'Microsoft.Office.Interop.Outlook.MailItem.
Эта операция не удалась, потому что
QueryInterface вызов на COM
компонент для интерфейса с IID
'{00063034-0000-0000-C000-000000000046}
не удалось из-за следующей ошибки: Нет
такой интерфейс поддерживается (исключение
от HRESULT: 0x80004002
(E_NOINTERFACE)).
Файлы MSG открываются нормально в Outlook, и я уверен, что эти формы являются стандартными почтовыми формами Outlook.
Какая наиболее вероятная причина этой ошибки?
Справочная информация: Один из моих коллег экспортировал большое количество почтовых ящиков из Exchange в качестве файлов PST, а затем запустил инструмент для файлов PST, чтобы создать файловую структуру, напоминающую исходный почтовый ящик, заполненный файлами MSG. , Например:
\ USERNAME
\ USERNAME \ INBOX
\ USERNAME \ ПОСЛАН
\ USERNAME \ DRAFTS
\ USERNAME \ УДАЛИТЬ
Затем я сканирую эти папки на наличие файлов .MSG и пытаюсь открыть их с помощью Outlook API.
Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
Outlook.NameSpace ns = app.GetNamespace("MAPI");
Outlook.MailItem item = (Outlook.MailItem)ns.OpenSharedItem(EmailPath);
Subject = item.Subject;