Recently I needed to send an e-mail using Microsoft Exchange Server from an ASP .NET Web App.
My first attempt involved using the classes in the System.Net.Mail namespace however I quickly realised this wasn’t the way to be going about it as I had very little luck getting a connection to the server.
After a while spent with Google I realised that there were some web services which could be used to perform tasks, these were called Exchange Web Services (EWS) and thankfully Microsoft provide a managed API which can be used to connect to and use them!
I thought this was exactly what I needed to I was surprised to be informed that the API was already installed when I tried to run the installer. I can only imagine that this was because I had Office already installed or because I installed Visual Studio with all the optional components.
In any case I eventually found the 32-bit version at the following path:
C:\Program Files (x86)\Microsoft\Exchange\Web Services\2.0
Below is a simple example of how to use the EWS Managed API to connect to an exchange server and send an e-mail message.
var service = new ExchangeService(); service.Url = new Uri("https://yourexchangeserver/ews/exchange.asmx"); service.Credentials = new WebCredentials("yourusername", "yourpassword"); EmailMessage message = new EmailMessage(service); message.ToRecipients.Add("firstname.lastname@example.org"); message.From = "email@example.com"; message.Subject = "Your Subject"; message.Body = "Your Message!"; message.Send();
I hope this saves someone some time when hunting for a quick solution!