Outlook Interop:如何获取每个帐户的已删除项目文件夹或垃圾文件夹
Outlook Interop: how to get deleted items folder or trash folder for each of the accounts
我正在尝试获取 Outlook 中所有邮件帐户的所有 已删除邮件 或 已删除邮件 文件夹。我在 C# 中使用 Outlook Interop,但我只能找到在 MSDN 上的默认邮件帐户中获取已删除邮件文件夹的方法:Application.Session.GetDefaultFolder(OlDefaultFolders.olFolderDeletedItems)
.
有人知道我是否可以在 Outlook 的每个电子邮件帐户中获取已删除项目文件夹吗?
遍历 Namespace.Stores
集合并调用 Store.GetDefaultFolder(olFolderDeletedItems)
而不是 Namespace.GetDefaultFolder
。
针对您在回复 Dmitry 的回答时添加的 "should work on Outlook 2007" 要求,我建议采用以下方法:
- 使用
PropertyAccessor
获取商店 的 PR_IPM_WASTEBASKET_ENTRYID ("http://schemas.microsoft.com/mapi/proptag/0x35E30102")
- 使用
PropertyAccessor.BinaryToString
将其转换为可在COM/interop层中使用的EntryID
- 使用
NameSpace.GetItemFromID
访问已删除项目的文件夹,给定它的 EntryID 和商店的 EntryID。
我正在尝试获取 Outlook 中所有邮件帐户的所有 已删除邮件 或 已删除邮件 文件夹。我在 C# 中使用 Outlook Interop,但我只能找到在 MSDN 上的默认邮件帐户中获取已删除邮件文件夹的方法:Application.Session.GetDefaultFolder(OlDefaultFolders.olFolderDeletedItems)
.
有人知道我是否可以在 Outlook 的每个电子邮件帐户中获取已删除项目文件夹吗?
遍历 Namespace.Stores
集合并调用 Store.GetDefaultFolder(olFolderDeletedItems)
而不是 Namespace.GetDefaultFolder
。
针对您在回复 Dmitry 的回答时添加的 "should work on Outlook 2007" 要求,我建议采用以下方法:
- 使用
PropertyAccessor
获取商店 的 PR_IPM_WASTEBASKET_ENTRYID ("http://schemas.microsoft.com/mapi/proptag/0x35E30102")
- 使用
PropertyAccessor.BinaryToString
将其转换为可在COM/interop层中使用的EntryID - 使用
NameSpace.GetItemFromID
访问已删除项目的文件夹,给定它的 EntryID 和商店的 EntryID。