c# - 获取从 .msg 文件打开的 MailItem 的 RDOMail

标签 c# vsto outlook-addin outlook-2003 outlook-redemption

有没有办法创建一个 RDOMail MailItem 的实例对应于从 .msg 文件打开的 Outlook 消息?

我通常的方法是获取 CurrentItemInspector 将其转换为 MailItem,检索其 EntryIDStoreID 值,最后从RDOSession通过 GetMessageFromID 方法。

但是,对于从 .msg 打开的消息,EntryID 属性返回 null。还有另一种解决方法吗?我假设我可以改用 GetMessageFromMsgFile 方法,但如何从 MailItem 检索消息的完整路径?

附言理想情况下,该解决方案应与 Outlook 2003 对象模型一起使用。

最佳答案

你可以在这里做两种方法......

  1. 使用 _MailItem.SaveAs()MailItem 保存到磁盘.然后使用 GetMessageFromMsgFile
  2. MailItem 保存到 Folder(存储)以保留它,为其提供 EntryIDStoreID .使用 MailItem.Save()MailItem.Move(tempFolder)将 MSG 保存到文件夹中。我通常使用 hidden folder for this storage swap .您需要在启动时或定期清除此交换文件夹(Outlook 有挥之不去的锁,因此您最好使用 try/catches)。

关于c# - 获取从 .msg 文件打开的 MailItem 的 RDOMail,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11205135/

相关文章:

c# - UWP x :Bind with time

c# - Office 加载项 VSTO 任务 Pane

vsto - Unknown Publisher 仍然出现在使用 VS2010 构建的正确代码签名的 VSTO 插件上

c# - Outlook 2007/2010 上下文菜单项图片

c# - Webbrowser 控件在放置在 Outlook 加载项中时不接收 Tab/Delete/Back 键

office365 - 我可以访问 Outlook 2016 桌面客户端中的 localStorage 吗?

C# 项目文件夹命名约定

c# - .NET 6 的 System.Text.Json 源代码生成在哪里存储它的代码?

c# - 等待期间多个任务的控制流

c# - VSTO WPF 模式对话框光标在文本框中不闪烁