剂量交换有通过域帐户查找邮箱的方法吗? (即活动目录名称)
我想创建一个页面来显示特定AD用户的授权邮箱信息,但是我发现AD名称可以与交换显示名称不同,所以要对当前任何方法进行检查吗?
由于
答案 0 :(得分:0)
如果您没有要查找的帐户的电子邮件地址,我建议您在EWS托管API中使用ResolveName()
方法,或在EWS中使用ResolveNames
操作。这将允许您提供文本sting并将一个或多个邮箱作为可能的匹配返回。您可以遍历结果,直到找到所需的邮箱。从那里,您可以绑定到邮箱以获取其他信息(如果需要)。以下是使用EWS托管API的示例:
// Resolve the ambiguous name "dan".
NameResolutionCollection resolvedNames = service.ResolveName("dan");
// Output the list of candidates.
foreach (NameResolution nameRes in resolvedNames)
{
Console.WriteLine("Contact name: " + nameRes.Mailbox.Name);
Console.WriteLine("Contact e-mail address: " + nameRes.Mailbox.Address);
Console.WriteLine("Mailbox type: " + nameRes.Mailbox.MailboxType);
}
以下是使用EWS的相同示例:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Body>
<ResolveNames xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
ReturnFullContactData="true">
<UnresolvedEntry>dan</UnresolvedEntry>
</ResolveNames>
</soap:Body>
</soap:Envelope>
我很快就会在MSDN上发表一篇文章,提供有关这些示例的更多详细信息。现在,您可以查看方法/操作的参考主题:
我希望这会有所帮助。如果这确实解决了您的问题,请将帖子标记为已回答。
谢谢,
---鲍勃---