Outlook Interop:如何获取每个帐户的已删除邮件文件夹或垃圾箱文件夹

时间:2015-01-05 04:48:38

标签: c# outlook-addin

我试图获取Outlook中所有邮件帐户的所有已删除邮件已删除邮件文件夹。我在C#中使用Outlook Interop,但我只能找到在MSDN上的默认邮件帐户中获取已删除邮件文件夹的方法:Application.Session.GetDefaultFolder(OlDefaultFolders.olFolderDeletedItems)

是否有人知道我是否可以在Outlook中的每个电子邮件帐户中获取已删除邮件文件夹?

2 个答案:

答案 0 :(得分:2)

循环访问Namespace.Stores集合并调用Store.GetDefaultFolder(olFolderDeletedItems)而不是Namespace.GetDefaultFolder。

答案 1 :(得分:1)

为了回应“应该对Outlook 2007有效”的要求,您在对Dmitry的回答中添加了回复,我建议采用以下方法:

  1. 使用PropertyAccessor获取商店的PR_IPM_WASTEBASKET_ENTRYID(“http://schemas.microsoft.com/mapi/proptag/0x35E30102”)
  2. 使用PropertyAccessor.BinaryToString将其转换为可在COM /互操作层中使用的EntryID
  3. 使用NameSpace.GetItemFromID访问已删除邮件文件夹文件夹,前提是它是EntryID和商店的EntryID。