获取所有Outlook文件夹和子文件夹的列表

我一直试图弄清楚如何获得所有outlook文件夹的列表已经有一段时间了,但是只能获得默认文件夹列表(即收件箱,发件箱,已发送项目,已删除项目等)。 如果我创建了个人或自定义文件夹怎么办? 例如,如果我向outlook添加一个名为“Receipts”的文件夹,这将不是默认文件夹,也不会显示在“默认文件夹”下。 如何使用c#中的Microsoft.Office.Interop.Outlook访问此文件夹。

我正在尝试创建一种方法,从任何给定的文件夹自动将某些新邮件下载到电子表格中。 我想如果我能得到所有文件夹的列表,那么我只能从所选文件夹中获取消息。

Outlook._Folders oFolders; Outlook.MAPIFolder oPublicFolder = olNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolder‌​Inbox).Parent; foreach (Outlook.MAPIFolder Folder in oFolders) 

这应打印出Outlook中的所有文件夹,包括您的公用文件夹。

 foreach (MAPIFolder folder in olNS.Folders) { GetFolders(folder); } public void GetFolders(MAPIFolder folder) { if (folder.Folders.Count == 0) { Console.WriteLine(folder.FullFolderPath); } else { foreach (MAPIFolder subFolder in folder.Folders) { GetFolders(subFolder); } } } 

请参阅MSDN“如何:枚举文件夹”: http : //msdn.microsoft.com/en-us/library/ff184607.aspx