仅传入电子邮件地址时从 EWS 获取显示名称
Getting display name from EWS when passing in just an email address
我使用自定义 GetMailTips SOAP 调用(因为 Core 2.0 的 EWS 不支持它)来获取一批电子邮件地址的外出信息。
如何获取我为其传递电子邮件地址的用户的显示名称?
我可以调用托管 API 的 ResolveName,这很有效,但必须一次完成一个,速度很慢。理想情况下,我希望在发出 GetMailTips 请求时获取此信息,但请求失败时,我会调用所有电子邮件地址以一次获取所有显示名称。我读到应该是一个 ResolveNames 方法,但它也不在 API 中。
感谢任何帮助
Autodiscover 可以return 用于多个用户,例如
AutodiscoverService adService = new AutodiscoverService(ExchangeVersion.Exchange2013_SP1);
adService.Credentials = new NetworkCredential("user@d.com", "pass");
adService.RedirectionUrlValidationCallback = adAutoDiscoCallBack;
List<String> Users = new List<string>();
Users.Add("user1@domain.com");
Users.Add("user2@domain.com");
GetUserSettingsResponseCollection usrSettings = adService.GetUsersSettings(Users, UserSettingName.UserDisplayName);
foreach(GetUserSettingsResponse usr in usrSettings)
{
Console.WriteLine(usr.Settings[UserSettingName.UserDisplayName]);
}
另一种方法是创建邮件并将电子邮件地址添加为收件人,然后将其保存到草稿文件夹,地址应该根据 GAL 进行解析。
我使用自定义 GetMailTips SOAP 调用(因为 Core 2.0 的 EWS 不支持它)来获取一批电子邮件地址的外出信息。
如何获取我为其传递电子邮件地址的用户的显示名称?
我可以调用托管 API 的 ResolveName,这很有效,但必须一次完成一个,速度很慢。理想情况下,我希望在发出 GetMailTips 请求时获取此信息,但请求失败时,我会调用所有电子邮件地址以一次获取所有显示名称。我读到应该是一个 ResolveNames 方法,但它也不在 API 中。
感谢任何帮助
Autodiscover 可以return 用于多个用户,例如
AutodiscoverService adService = new AutodiscoverService(ExchangeVersion.Exchange2013_SP1);
adService.Credentials = new NetworkCredential("user@d.com", "pass");
adService.RedirectionUrlValidationCallback = adAutoDiscoCallBack;
List<String> Users = new List<string>();
Users.Add("user1@domain.com");
Users.Add("user2@domain.com");
GetUserSettingsResponseCollection usrSettings = adService.GetUsersSettings(Users, UserSettingName.UserDisplayName);
foreach(GetUserSettingsResponse usr in usrSettings)
{
Console.WriteLine(usr.Settings[UserSettingName.UserDisplayName]);
}
另一种方法是创建邮件并将电子邮件地址添加为收件人,然后将其保存到草稿文件夹,地址应该根据 GAL 进行解析。