【发布时间】:2017-06-05 12:52:22
【问题描述】:
我正在尝试在 Outlook 中获取共享邮箱中的文件夹和子文件夹列表。使用缓存 Exchange 模式和下载共享文件夹都被选中。 文件夹最多 3 个级别: Inbox=>Company=>ABC Company 。下面是我的代码。
myApp = new Microsoft.Office.Interop.Outlook.Application();
ns = myApp.Session;
stores = ns.Stores;
for (int i = 1; i <= stores.Count; i++)
{
var _store = stores[i];
if (_store.DisplayName.ToLower().Contains(displayName.ToLower()))
{
store = _store;
break;
}
}
rootFolder = store.GetRootFolder();
folders = rootFolder.Folders;
for (int i = 1; i < folders.Count; i++)
{
mainfolder = (Microsoft.Office.Interop.Outlook.MAPIFolder)folders[i];
if (mainfolder != null)
{
if (mainfolder.Name.Trim().ToLower() == mainfolderName.Trim().ToLower())
{
foreach (Microsoft.Office.Interop.Outlook.MAPIFolder f in mainfolder.Folders)
{
if (f.Name.Trim().ToLower() == folderName.Trim().ToLower())
{
folder = f;
if (subFolderName != "")
{
foreach (Microsoft.Office.Interop.Outlook.MAPIFolder sub in f.Folders)
{
if (sub.Name.Trim().ToLower() == subFolderName.Trim().ToLower())
{
subfolder = sub;
break;
}
}
}
break;
}
}
break;
}
}
}
它成功获得第一级 - 收件箱、草稿、存档、垃圾邮件等。但它并不总是获得第二级,mainfolder.Folders.Count 返回 0。我错过了什么吗?谢谢。
【问题讨论】:
-
您真的能在 Outlook 中看到这些文件夹吗?您是否尝试过禁用缓存模式?
-
是的,我可以在 Outlook 中看到这些文件夹。禁用缓存模式会使 Outlook 有时没有响应,而且根据我们的 IT 团队也不可能。我不明白为什么有时它工作,有时不工作。和网络有关系吗?