当前位置: 首页 > 知识库问答 >
问题:

如何通过EWS列出公用文件夹邮箱?

阎啸
2023-03-14

我找不到任何使用SOAP API正确列出所有公用文件夹邮箱和公用文件夹的解决方案。我只找到了powershell命令或C#方法。如果有人知道如何获取/列出所有公用文件夹,请提供给我的解决方案。

共有1个答案

陶唯
2023-03-14

要枚举公用文件夹,您需要使用FindFolder操作,然后从根开始对每个文件夹级别进行浅遍历查询(因为您不能进行深度遍历),例如

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
    <soap:Body>
        <FindFolder Traversal="Shallow" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
        <FolderShape>
            <t:BaseShape>Default</t:BaseShape>
        </FolderShape>
        <ParentFolderIds>
            <t:DistinguishedFolderId Id="publicfoldersroot"/>
        </ParentFolderIds>
        </FindFolder>
    </soap:Body>
    </soap:Envelope>

您不能使用EWS获取公用文件夹邮箱您在Office365上应该做的是发现要包括在路由标头中的正确的公用文件夹邮箱,因此您应该阅读https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-route-public-folder-hierarchy-requests和https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-developer/exchange-web-services/how-to-developer/how-to-public-folder-content-requests(这两个文件都有您需要的调用的XML示例)。

 类似资料:
  • 我可以使用以下powershell命令检索存储在特定公用文件夹邮箱中的公用文件夹: (但我不想使用远程PowerShell) 我不能使用EWS来完成这件事。 我的第一个想法是获取所有公用文件夹,然后根据公用文件夹邮箱对它们进行排序。 但可能没有包含公用文件夹邮箱名称(类似于ContentMailboxName powershell属性)的扩展MAPI属性。 所以我尝试了这样的方法:具有委托访问权限

  • 我正在编写一个程序,将联系人从ERP系统导入到Outlook。不同的电子邮件会收到不同的来自ERP的联系人列表。这里的想法是,在每封电子邮件中,我都有一个公共联系人文件夹,可以被技术用户访问。技术用户可以将联系人写入此文件夹。下面是搜索文件夹的代码: 服务对象的创建如下: 代码适用于Office2010,我从该文件夹获取Id,连接到它并保存联系人。迁移到Office365后,我们找不到公用文件夹。

  • 我想出了一个解决办法,就是导入所有用户的电子邮件文件夹。这个解决方案是工作的,它只是繁琐的维护,因为我们几乎每周都有新的/删除的用户。

  • 我正在尝试从outlook邮箱获取公用文件夹电子邮件。现在,我可以从我的根文件夹的文件夹中获取邮件。我使用以下代码进行相同的操作: 当我将替换为时,我会得到错误“没有可用的公用文件夹服务器”。我还引用了@mimi Gentz解决方案,但仍然得到错误。 我的代码漏了什么吗?请帮帮忙。

  • 我目前正在编写一个PowerShell脚本,它需要从特定邮箱中提取所有邮件作为.eml或.msg文件,并将它们保存在备份服务器上。我将powershell版本5与Exchange 2010管理控制台模块(EWS)一起使用。 目前,我的脚本能够访问收件箱文件夹中的所有邮件及其属性,如正文、主题、附件等。然而,我找不到一种简单的方式或方法来导出消息(及其附件)。所以我的问题是,Exchange 201

  • 我正在使用EWS和java从Outlook邮箱检索电子邮件。