使用Outlook API转到特定文件夹
时间:2020-03-05 18:57:10 来源:igfitidea点击:
我正在尝试编写一些Ccode来访问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()) }
这将使我进入"收件箱"文件夹。我正在尝试进入与"收件箱"文件夹相同级别的文件夹。我相信我需要使用GetFolderFromID而不是GetSharedDefaultFolder,但是我不知道如何使用它。有没有办法遍历所有顶级文件夹?如何确定文件夹的EntryID和StoreID?
谢谢!
解决方案
回答
我们可以使用Outlook.NameSpace对象的Folders集合成员。这样,我们就可以遍历集合并通过其名称查找文件夹。如果仍然要使用GetFolderFromID,则可以使用OutlookSpy工具获取EntryID和StoreID值。