使用EWS查找使用次要电子邮件地址的主要SMTP地址

3
使用Exchange Server 2010上的Exchange Web Services,我需要使用次要电子邮件地址查找用户的主SMTP地址。 我尝试使用ExchangeService.ResolveName(emailAddress)。但是,ResolveName()似乎无法将次要电子邮件地址与主要电子邮件地址匹配。如果我传递用户的名字和姓氏,它会找到主地址。但是,我需要能够使用次要电子邮件进行匹配。 我做错了什么吗?如何将次要地址与主地址匹配? 谢谢, Tedderz
2个回答

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

根据需要添加错误处理。


并不完全正确,您可以在调用ResolveName时使用其他前缀,例如X500。 - donovan

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接