Вам необходимо вызвать ResolveName со строкой вида smtp:someone@example.com
. Я не уверен, будет ли 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 "";
}
Конечно, при необходимости добавьте обработку ошибок.