使用辅助电子邮件地址使用EWS查找主SMTP地址

时间:2011-06-19 03:01:51

标签: exchange-server exchangewebservices

在Exchange Server 2010上使用Exchange Web服务,我需要使用辅助电子邮件地址查找用户的主SMTP地址。

我正在尝试使用ExchangeService.ResolveName(emailAddress)。但是,ResolveName()似乎不匹配辅助电子邮件地址与主要电子邮件地址。如果我传入用户的名字和姓氏,那么它会找到主要地址。但是,我需要能够使用辅助电子邮件进行匹配。

我做错了吗?如何将辅助地址与主要地址匹配?

谢谢,

Tedderz

2 个答案:

答案 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 "";
}

当然,根据需要添加错误处理。