C# 正在获取从.msg文件打开的MailItem的RDOMail
是否有方法为从C# 正在获取从.msg文件打开的MailItem的RDOMail,c#,vsto,outlook-addin,outlook-2003,outlook-redemption,C#,Vsto,Outlook Addin,Outlook 2003,Outlook Redemption,是否有方法为从.msg文件打开的Outlook邮件创建相应的实例 我通常的方法是从检查器获取,将其强制转换为邮件项,检索其EntryID和StoreID值,最后通过GetMessageFromID方法从中加载它 但是,对于从.msg打开的消息,EntryID属性返回null。还有别的办法吗?我假设可以使用GetMessageFromMsgFile方法,但是如何从MailItem检索消息的完整路径呢 另外,理想情况下,该解决方案应与Outlook 2003对象模型配合使用。您可以在此处使用两种方法
.msg
文件打开的Outlook邮件创建相应的实例
我通常的方法是从检查器
获取,将其强制转换为邮件项
,检索其EntryID
和StoreID
值,最后通过GetMessageFromID
方法从中加载它
但是,对于从.msg
打开的消息,EntryID
属性返回null
。还有别的办法吗?我假设可以使用GetMessageFromMsgFile
方法,但是如何从MailItem
检索消息的完整路径呢
另外,理想情况下,该解决方案应与Outlook 2003对象模型配合使用。您可以在此处使用两种方法
邮件项目
保存到磁盘。然后使用GetMessageFromMsgFile
邮件项目
保存到文件夹
(存储)中以将其持久化,并为其提供EntryID
和StoreID
。使用和将消息持久保存到文件夹中。我通常使用一个。您需要在启动时或定期清除此交换文件夹(Outlook具有延迟锁定,因此您最好使用try/catch)谢谢我希望有一些更轻量级(性能方面)的东西,不涉及保存,因为这个操作需要在UI线程上执行,但我想我会采用第二种方法。