【问题标题】:Getting RDOMail for MailItem opened from .msg file获取从 .msg 文件打开的 MailItem 的 RDOMail
【发布时间】:2012-06-26 10:15:15
【问题描述】:

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

我通常的方法是从Inspector 获取CurrentItem,将其转换为MailItem,检索其EntryIDStoreID 值,最后通过@987654334 从RDOSession 加载它@方法。

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢!我希望有一些不涉及保存的更轻量级(性能方面)的东西,因为这个操作需要在 UI 线程上执行,但我想我会采用你的第二种方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    • 2011-04-10
    • 1970-01-01
    相关资源
    最近更新 更多