枚举您有权使用 EWS Managed API 模拟的帐户

Enumerating accounts you have permissions to impersonate using EWS Managed API

我设置 impersonation 以允许我在我的 ExchangeService 客户端对象上模拟和访问另一个帐户:

var client = new ExchangeService();
client.Credentials = new WebCredentials("account.one@somewhere.com", "password");
client.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx");
client.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "account.two@somewhere.com");

这很好用,但是...在我的情况下,account.one@somewhere.com 不知道他们可以冒充谁。我如何枚举他们能够模拟的所有其他帐户?我尝试搜索示例,但找不到任何内容。

EWS 中没有任何内容可以为您提供该信息,这实际上取决于您如何设置模拟。例如,可以为每个用户、组或租户中的每个收件人配置模拟。

如果您要限制模拟并且想要枚举该限制,则使用启用邮件的安全组,为组成员启用模拟,然后在 EWS 中使用 ExpandGroup 将为您提供组成员的 SMTP 地址.