是否有办法为与.msg
文件打开的Outlook邮件对应的RDOMail
创建MailItem
个实例?
我通常的方法是从Inspector
获取CurrentItem
,将其转换为MailItem
,检索其EntryID
和StoreID
值,最后加载它来自RDOSession
到GetMessageFromID
方法。
但是,对于从.msg
打开的消息,EntryID
属性返回null
。还有另一种方法吗?我假设我可以使用GetMessageFromMsgFile
方法,但如何从MailItem
检索邮件的完整路径?
P.S。理想情况下,该解决方案应与Outlook 2003对象模型一起使用。
答案 0 :(得分:1)
你可以在这里做两种方法......
_MailItem.SaveAs()
将MailItem
保存到磁盘。然后使用GetMessageFromMsgFile
。MailItem
保存到Folder
(商店)以保留它,并为其EntryID
和StoreID
。使用MailItem.Save()
和MailItem.Move(tempFolder)
将MSG保留到文件夹中。我通常使用hidden folder for this storage swap。您需要在启动时或定期清除此交换文件夹( Outlook具有延迟锁定,因此您最好使用try / catches )。