[英]Unable to SaveAs MailItem as msg file using third party application
我有 outlook 的 vsto 插件。 在我的插件中,有一个功能可以在本地保存邮件。 此功能在后台自动运行。 为了实现这个功能,我开发了一个后台应用程序。 在这个应用程序中,我会将 email 保存在一个确定的文件夹中。 这个附加组件在我的电脑上工作得很好,但在保存 email 时,在一些面向客户端的问题中。 根据日志文件,我在尝试保存 email 时检查了此错误是否生成。
操作中止(HRESULT 异常:0x80004004 (E_ABORT))
在发布此博客之前,我尝试使用 Outlook 获取新邮件。 申请 object 但问题仍未解决。
谁能帮我们解决这个问题?
谢谢
Outlook Object Model 不能从 ZCD0FBB7849B9D81ECFZ8E 进程空间中的辅助地址线程使用。 您可以从外部进程中的辅助线程使用它,但无论如何调用将被编组到主 Outlook 线程。 进程内没有封送处理,因此您会收到错误消息。
您的选项是扩展 MAPI(仅限 C++ 或 Delphi)或赎回(可用于任何语言)。 在后一种情况下,您可以将Namespace.MAPIOBJECT
和MailItem.EntryID
属性的值保存在主线程上的单独变量中,并在辅助线程上创建RDOSession object 的实例,将其MAPIOBJECT
属性设置为保存在主线程,然后使用RDOSession.GetMessageFromID
打开消息,然后调用RDOMail 。 SaveAs(..., olMsg)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.