首页 文章

MAPI 属性在 Outlook 2007 中获取垃圾文件夹

提问于
浏览
1

我有一个例程可以从 Outlook 存储中获取特定的文件夹:

// Property Tag of SentFolder
string propertyName = "http://schemas.microsoft.com/mapi/proptag/0x35E40102";

Outlook.Folders folders = store.GetRootFolder().Folders;
object entry = propertyAccesor.GetProperty(propertyName);
defaultFolderEntryID = propertyAccesor.BinaryToString(entry);

if (!string.IsNullOrEmpty(defaultFolderEntryID))
{
   foreach (Outlook.Folder defaultFolder in folders)
   {
      if (defaultFolder.EntryID == defaultFolderEntryID)
      {
         folder = defaultFolder;
         break;
      }
      else
         Marshal.ReleaseComObject(defaultFolder);   
   }
}

Marshal.ReleaseComObject(folders);
Marshal.ReleaseComObject(store);

我具有“已发送邮件”,“发件箱”和“已删除邮件”的属性标签,但是找不到“垃圾”(或“垃圾邮件”)文件夹的属性标签。任何人都知道它存在的价值是什么?

谢谢。-

1 回答

  • 1

    为什么不使用 Namespace/Store.GetDefaultFolder(olFolderJunk)?除非您当然要尝试打开代理邮箱的“垃圾邮件”文件夹(您可以在 Outlook 2010 或更高版本中使用 Store.GetDefaultFolder)。

    在 MAPI 级别上,条目 ID 存储在 PR_ADDITIONAL_REN_ENTRYIDS(0x36D81102)多值二进制属性中;它以索引 4(从 0 开始)存储。您可以在Outlook 间谍中看到它(选择“收件箱”文件夹后,单击 IMAPIFolder 按钮)。

    由于 Outlook 2007 不公开 Store 对象(因此您可以使用 Store.GetDefaultFolder),因此可以使用赎回(任何版本的 Outlook)-它在所有版本的 Outlook 中公开RDO 商店.GetDefaultFolder 方法。

相关问题