Conectarse a Exchange Online desde Microsoft Exchange Web Services Managed API

Cuando trabajamos con Office 365, y más en concreto con Exchange Online, es posible que queramos integrar parte de su funcionalidad con nuestra aplicación. Tal es así que podemos llegar a hacer uso de los servicios que ofrece desde .NET. Cuando estuve investigando sobre cómo ser capaz de conectarse a Exchange Online desde EWS no quedaba muy claro cuál era el servicio que teníamos que consumir.

Si alguien más se ha encontrado en esta situación, con el siguiente código seremos capaces de realizar dicha conexión:

            var service = new ExchangeService(ExchangeVersion.Exchange2013)
            {
                Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx"),
                Credentials = new WebCredentials("username", "password"),
            };
            var message = new EmailMessage(service)
            {
                Subject = "Mail from Microsoft Exchange Web Services Managed API",
                Body = new MessageBody("Hello geeks!")
            };
            message.ToRecipients.Add("someone@domain.com");
            message.SendAndSaveCopy();

Básicamente, creamos una instancia de ExchangeService e indicamos la versión Exchange 2013. La URI del servicio es «https://outlook.office365.com/EWS/Exchange.asmx» y como credenciales las propias de nuestra suscripción. Una vez creado el objeto que nos dará la conexión, podremos hacer uso por ejemplo de EmailMessage para enviar correos a los usuarios.

Espero que sea de utilidad.

¡Saludos!