使用Outlook API访问特定文件夹

时间:2008-09-16 20:55:34

标签: c# api outlook

我正在尝试编写一些C#代码来访问Outlook邮箱中的特定文件夹。我有以下代码:

Outlook.Application oApp = new Outlook.Application();
Outlook.NameSpace oNS = oApp.GetNamespace("mapi");
Outlook.Recipient oRecip = oNS.CreateRecipient("AccountNameHere");
oRecip.Resolve();
if (oRecip.Resolved)
{
  oInbox = oNS.GetSharedDefaultFolder(oRecip, Outlook.OlDefaultFolders.olFolderInbox);
  oInboxMsgs = oInbox.Items;
  ItemCount = oInboxMsgs.Count;
  Console.Writeline("There are {0] items.", ItemCount.ToString())
}

这会让我进入“收件箱”文件夹。我正在尝试访问与Inbox文件夹相同级别的文件夹。我相信我需要使用GetFolderFromID而不是GetSharedDefaultFolder,但我不明白如何使用它。有没有办法迭代所有顶级文件夹?我如何确定文件夹的EntryID和StoreID?

谢谢!

1 个答案:

答案 0 :(得分:5)

您可以使用Outlook.NameSpace对象的Folders集合成员。这样您就可以遍历集合并按名称查找文件夹。如果您仍想使用GetFolderFromID,可以使用OutlookSpy工具获取EntryID和StoreID值。