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

使用Exchange Web Services(EWS)查找邮箱委托

东方琪
2023-03-14

我目前正在iOS下开发一个EWS客户端应用程序,因此我使用Exchange Web服务与Exchange2010服务器通信(纯XML而不是托管API)。我知道如何访问委托的邮箱和日历,并授予或删除委托对邮箱的访问权限,但在访问之前,我需要先找到这些邮箱。也就是说,我想要找到我的当前用户有权访问的所有邮箱(与所有有权访问当前邮箱的用户相反,当前邮箱是有详细文档记录的)。

这个来自2011年的问题(EWS API委托列表)表明没有任何可能性,但没有提供任何参考。我在文档中没有找到任何资源和提示,但Outlook很容易识别这些邮箱。可能是它在使用某种内部API,我在它与服务器的通信中找不到相应的请求。

我怎么才能找到这些邮箱?或者,假设2011年的答案是正确的,那么现在还没有实现这一目标的方法?如果是,那么Outlook是如何做到这一点的呢?

共有1个答案

慕容俭
2023-03-14

有几种方法可以授予您对其他用户邮箱的访问权,其中一种方法是通过Outlook委托,它基本上修改了用户邮箱中的文件夹ACE和FreeBusy对象。另一种方法是,管理员使用Add-MailboxPermission授予某人对邮箱的完全访问权,然后允许自动处理邮箱的http://www.msExchange.org/articles-tutorials/Exchange-Server-2010/Management-Administration/Mailbox-Auto-Mapping-Exchange-Server-2010-part1.html。这意味着Outlook将自动将该邮箱作为附加邮箱连接。

因此,要查找您的用户将自动映射的邮箱,您可以使用Autodiscover,并且邮箱将返回到AdditionalMailboxes中,例如

<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:a="http://schemas.microsoft.com/exchange/2010/Autodiscove
r" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:xsi="http://www.w3.org
/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <a:RequestedServerVersion>Exchange2010_SP2</a:RequestedServerVersion>
    <wsa:Action>http://schemas.microsoft.com/exchange/2010/Autodiscover/Autodiscover/GetUserSettings</wsa:Action>
    <wsa:To>https://autodiscover-s.outlook.com/autodiscover/autodiscover.svc</wsa:To>
  </soap:Header>
  <soap:Body>
    <a:GetUserSettingsRequestMessage xmlns:a="http://schemas.microsoft.com/exchange/2010/Autodiscover">
      <a:Request>
        <a:Users>
          <a:User>
            <a:Mailbox>user@domain.com</a:Mailbox>
          </a:User>
        </a:Users>
        <a:RequestedSettings>
          <a:Setting>AlternateMailboxes</a:Setting>
        </a:RequestedSettings>
      </a:Request>
    </a:GetUserSettingsRequestMessage>
  </soap:Body>
</soap:Envelope>
 类似资料:
  • 我能够创建一个进程邮箱,并且能够通过https://ExchangeServer/owa/processmailbox@domain.com访问,然后我将提供我的凭据,并且能够登录。 但我无法通过EWS访问。它说SMTP地址没有与之关联的邮箱。 我可以用相同的代码访问我的收件箱。

  • 我正在尝试创建一个使用EWS服务侦听Exchange room邮箱中的事件的项目。 我们可以通过将邮箱id传递给方法“getUserSettings”来获取组信息。 感谢任何帮助

  • 我已经设置了一个Office365设备邮箱,这样我就可以在outlook中打开它(使用Open->其他用户的邮箱),但是我无法使用C#EWS API访问该邮箱。访问邮箱的代码: 结果出现以下异常:

  • 我想从一个邮箱中搜索名字中包含某些关键字的所有附件,我正在使用C#EWS托管API(2.2版)来完成这一操作。我可以使用Item.hasAttachment:true属性访问带有附件的项,并且代码按预期工作。但办理时间很长。 我需要知道是否有一个更好更快的方法来访问一个邮箱/文件夹中的附件使用EWS。不是检查每一个邮件项目,有没有一种方法应用过滤器的附件在文件夹级别? 下面是用于按name关键字提

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

  • 我正在尝试获得使用Gmail API的邮箱的代表。我的应用程序运行在谷歌App-engine上,具有使用电子邮件设置API添加、删除、获取委托的功能。现在我正计划将这些功能迁移到Gmail API,因为电子邮件设置API将被弃用。 在技术方面,我使用的是Java语言。我遵循了Gmail API文档提供的所有步骤。对Gmail API的身份验证成功。但当我试图获得代表时,它会给出以下错误- 404找