gpt4 book ai didi

c# - 使用 EWS 查找收件箱文件夹的所有子文件夹

转载 作者:太空狗 更新时间:2023-10-29 18:15:19 27 4
gpt4 key购买 nike

我有以下收件箱文件夹结构:

Inbox
--ABC
----ABC 2
----ABC 3
--XYZ
----XYZ 2
--123
----123 A
----123 B
----123 C

我正在使用 Exchange Web 服务和以下代码来查找收件箱文件夹的子文件夹:

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010);

service.AutodiscoverUrl("MyName@MyDomain.com");
Mailbox mb = new Mailbox("MyName@MyDomain.com");

FindFoldersResults findResults = service.FindFolders(
WellKnownFolderName.Inbox,
new FolderView(int.MaxValue));

foreach (Folder folder in findResults.Folders)
{
Console.WriteLine(folder.DisplayName);
}

这部分起作用是因为它返回了 ABC、XYZ 和 123 文件夹;不幸的是,它不会返回每个文件夹中的文件夹(ABC 2、ABC 3、XYZ 2、123 A、123 B、123 C)。

此外,一个文件夹中可能包含多个级别的子文件夹。

我如何编写这段代码才能返回所有子文件夹,而不管它们嵌套的深度如何?

最佳答案

您可以让 EWS 在搜索文件夹时进行深度遍历。您可以使用 FolderView.Traversal 执行此操作属性(property)。然后您的代码将更改为类似于以下内容:

FindFoldersResults findResults = service.FindFolders(
WellKnownFolderName.Inbox,
new FolderView(int.MaxValue) { Traversal = FolderTraversal.Deep });

关于c# - 使用 EWS 查找收件箱文件夹的所有子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7590510/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com