使用outlook api打开电子邮件时引发错误
本文关键字:错误 电子邮件 outlook api 使用 | 更新日期: 2023-09-27 18:01:04
问题:打开看起来有效的邮件时收到以下错误消息。使用Outlook API打开邮件的MSG文件:
无法强制转换类型为的COM对象’系统__ComObject到接口类型"Microsoft.Office.Interop.Outlook.MailItem"。此操作失败,因为COM上的QueryInterface调用与IID接口的组件"{00063034-0000-0000-C000-000000000046}"由于以下错误而失败:否支持此类接口(异常来自HRESULT:0x80004002(E_NOINTERFACE((。
MSG文件在outlook中打开良好,我确信这些表单是标准的outlook邮件表单。
这个错误最可能的原因是什么?
背景:我的一位同事将exchange中的大量邮箱导出为PST,然后对PST文件运行一个工具,生成一个类似于原始邮箱的文件结构,其中填充了.MSG文件。例如:
''用户名
''用户名''收件箱
''用户名''发送
''用户名''草稿
''用户名''已删除
然后,我扫描这些文件夹中的.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;
OK,使用"as"操作符测试您感兴趣的接口,而不会引发异常。