Chris Wood
Chris Wood

Reputation: 531

Get logged on user's SMTP address via EWS?

I have a client app written using EWS Managed API 1.1. Here's the situation:

I can connect to EWS just fine, send messages, etc.

However my software needs to discover the authenticated user's email address, and for various requirements reasons can't just ask the user to provide it.

I assumed I'd be able to get such a simple detail back from the web service, but I'm stumped!

Is this possible for both 2007 and 2010?

Thanks!

Upvotes: 6

Views: 3018

Answers (1)

Jakob Christensen
Jakob Christensen

Reputation: 14956

You may be able to do it using ExchangeService.ResolveName. I tried it with the following EWS Managed API code example on Exchange 2007 and it worked like a charm:

var service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.Url = new Uri("https://serv/EWS/exchange.asmx");
service.Credentials = new NetworkCredential("001234", "PasswordForUser001234", "Domain");

ServicePointManager.ServerCertificateValidationCallback = (object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) =>
    {
        return true;
    };

var resolvedNames = service.ResolveName("001234");
foreach (var resolvedName in resolvedNames)
{
    Console.WriteLine(resolvedName.Mailbox.Address);
}

Upvotes: 3

Related Questions