在Exchange Server 2010上使用Exchange Web服务,我需要使用辅助电子邮件地址查找用户的主SMTP地址。
我正在尝试使用ExchangeService.ResolveName(emailAddress)。但是,ResolveName()似乎不匹配辅助电子邮件地址与主要电子邮件地址。如果我传入用户的名字和姓氏,那么它会找到主要地址。但是,我需要能够使用辅助电子邮件进行匹配。
我做错了吗?如何将辅助地址与主要地址匹配?
谢谢,
Tedderz
答案 0 :(得分:2)
答案 1 :(得分:2)
您需要使用smtp:someone@example.com
形式的字符串调用ResolveName。我不确定当这样调用时,ResolveName是否会返回除主SMTP地址以外的任何内容。但我检查了邮箱类型以防万一。以下代码似乎对我有用。
private string GetPrimarySmtpAddress(ExchangeService service, string email)
{
foreach (NameResolution resolution in service.ResolveName("smtp:" + email))
{
if (resolution.Mailbox.MailboxType == MailboxType.Mailbox)
{
return resolution.Mailbox.Address;
}
}
return "";
}
当然,根据需要添加错误处理。