有没有办法创建一个 RDOMail
MailItem
的实例对应于从 .msg
文件打开的 Outlook 消息?
我通常的方法是获取 CurrentItem
从 Inspector
将其转换为 MailItem
,检索其 EntryID
和 StoreID
值,最后从RDOSession
通过 GetMessageFromID
方法。
但是,对于从 .msg
打开的消息,EntryID
属性返回 null
。还有另一种解决方法吗?我假设我可以改用 GetMessageFromMsgFile
方法,但如何从 MailItem
检索消息的完整路径?
附言理想情况下,该解决方案应与 Outlook 2003 对象模型一起使用。
最佳答案
你可以在这里做两种方法......
- 使用
_MailItem.SaveAs()
将MailItem
保存到磁盘.然后使用GetMessageFromMsgFile
。 - 将
MailItem
保存到Folder
(存储)以保留它,为其提供EntryID
和StoreID
.使用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/