Sending email message using Exchange Web Service Managed API

February 04, 2015 by Anuraj

.Net ASP.Net ASP.Net MVC Visual Studio

Microsoft Exchange Web Services (EWS) is an interface by which you can programmatically manage Exchange items such as calendar, contact, and email. Microsoft Exchange Web Services is an Application Programming Interface (API) that provides programmatic access to the information and business logic in Microsoft Exchange Server 2007 or later versions. EWS is now an open source project, you can find it in github

To use EWS API, you need to add reference of Microsoft.Exchange.WebServices.dll, you can do it via nuget.

Install-Package Microsoft.Exchange.WebServices

And here is the code snippet, which will send email.

var service = new ExchangeService(ExchangeVersion.Exchange2013);
service.Credentials =
    new WebCredentials("email@example.com", "Password");
service.TraceEnabled = true;
service.TraceFlags = TraceFlags.All;
service.AutodiscoverUrl("email@example.com",
    RedirectionUrlValidationCallback);
EmailMessage email = new EmailMessage(service);
email.ToRecipients.Add("info@example.com");
email.Subject = "HelloWorld";
email.Body = new MessageBody("First email using EWS Managed API");
email.Body.BodyType = BodyType.HTML;
email.Send();

Here is the RedirectionUrlValidationCallback method.

private static bool RedirectionUrlValidationCallback(string redirectionUrl)
{
    var redirectionUri = new Uri(redirectionUrl);
    var result = redirectionUri.Scheme == "https";
    return result;
}

Happy Programming :)

Copyright © 2024 Anuraj. Blog content licensed under the Creative Commons CC BY 2.5 | Unless otherwise stated or granted, code samples licensed under the MIT license. This is a personal blog. The opinions expressed here represent my own and not those of my employer. Powered by Jekyll. Hosted with ❤ by GitHub