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" 要求,我建议采用以下方法:

  1. 使用 PropertyAccessor 获取商店
  2. 的 PR_IPM_WASTEBASKET_ENTRYID ("http://schemas.microsoft.com/mapi/proptag/0x35E30102")
  3. 使用PropertyAccessor.BinaryToString将其转换为可在COM/interop层中使用的EntryID
  4. 使用 NameSpace.GetItemFromID 访问已删除项目的文件夹,给定它的 EntryID 和商店的 EntryID。