gpt4 book ai didi

exchangewebservices - 通过 EWS 获取登录用户的 SMTP 地址?

转载 作者:行者123 更新时间:2023-12-04 15:36:56 24 4
gpt4 key购买 nike

我有一个使用 EWS Managed API 1.1 编写的客户端应用程序。这是情况:

  • 客户端不在与 Exchange Server 位于同一域中的计算机上运行。
  • 我有用户的用户名和密码,但没有他们的电子邮件地址。
  • 用户名(例如 ABC123\001234)和电子邮件地址(例如 joe.bloggs@company.com)之间没有共性。

  • 我可以很好地连接到 EWS,发送消息等。

    但是我的软件需要发现经过身份验证的用户的电子邮件地址,并且出于各种要求的原因不能只要求用户提供它。

    我以为我可以从 Web 服务中获取如此简单的细节,但我很难过!

    这对 2007 年和 2010 年都有可能吗?

    谢谢!

    最佳答案

    您可以使用 ExchangeService.ResolveName 来做到这一点。 .我在 Exchange 2007 上使用以下 EWS 托管 API 代码示例进行了尝试,它的效果非常好:

    var service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
    service.Url = new Uri("https://serv/EWS/exchange.asmx");
    service.Credentials = new NetworkCredential("001234", "PasswordForUser001234", "Domain");

    ServicePointManager.ServerCertificateValidationCallback = (object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) =>
    {
    return true;
    };

    var resolvedNames = service.ResolveName("001234");
    foreach (var resolvedName in resolvedNames)
    {
    Console.WriteLine(resolvedName.Mailbox.Address);
    }

    关于exchangewebservices - 通过 EWS 获取登录用户的 SMTP 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6081243/

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