EWS 异常:没有 public 个可用的文件夹服务器
EWS Exception: There are no public folder servers available
我正在尝试从我的 outlook 邮箱中获取 Public 文件夹电子邮件。目前,我可以从我的根文件夹中的文件夹中获取邮件。我使用以下代码:
Folder rootfolder = Folder.Bind(exchange, WellKnownFolderName.MsgFolderRoot);
//Folder rootfolder = Folder.Bind(exchange, WellKnownFolderName.PublicFoldersRoot); // gives error
rootfolder.Load();
foreach (Folder folder in rootfolder.FindFolders(new FolderView(100)))
{
Console.WriteLine(folder.DisplayName);
}
当我将 WellKnownFolderName.MsgFolderRoot
替换为 WellKnownFolderName.PublicFoldersRoot
时,出现错误 "There are no public folder servers available." 我也参考了 here 中的@Mimi Gentz 解决方案,但我仍然收到错误.
我的代码中是否遗漏了什么?请帮忙。
您需要首先添加正确的路由 headers https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-route-public-folder-hierarchy-requests 。另一件事是,默认情况下不会有 public 文件夹 OnPrem 或 Office365,因此管理员必须先设置它们。
我的电子邮件在 Office365 上,而 public 文件夹是 OnPrem,这就是我收到 no public folder servers
错误的原因。
我正在尝试从我的 outlook 邮箱中获取 Public 文件夹电子邮件。目前,我可以从我的根文件夹中的文件夹中获取邮件。我使用以下代码:
Folder rootfolder = Folder.Bind(exchange, WellKnownFolderName.MsgFolderRoot);
//Folder rootfolder = Folder.Bind(exchange, WellKnownFolderName.PublicFoldersRoot); // gives error
rootfolder.Load();
foreach (Folder folder in rootfolder.FindFolders(new FolderView(100)))
{
Console.WriteLine(folder.DisplayName);
}
当我将 WellKnownFolderName.MsgFolderRoot
替换为 WellKnownFolderName.PublicFoldersRoot
时,出现错误 "There are no public folder servers available." 我也参考了 here 中的@Mimi Gentz 解决方案,但我仍然收到错误.
我的代码中是否遗漏了什么?请帮忙。
您需要首先添加正确的路由 headers https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-route-public-folder-hierarchy-requests 。另一件事是,默认情况下不会有 public 文件夹 OnPrem 或 Office365,因此管理员必须先设置它们。
我的电子邮件在 Office365 上,而 public 文件夹是 OnPrem,这就是我收到 no public folder servers
错误的原因。