Archive

Archive for the ‘Office 365 – Tips & Tricks’ Category

Enviando e-mails programaticamente usando o Office 365 (Exchange Online)

CENÁRIO:

Cenário bem comum em automação de processos é ter algum serviço que fique monitorando algum processo e depois envie e-mails de notificação aos interessados.

ANÁLISE:

Com o EWS Managed API 2.0 isso ficou muito simples. Principalmente utilizando o Office 365 ao invés de um Exchange Server on-premises.

Para facilitar BASTANTE as coisas, utilizaremos o Microsoft.Exchange.WebServices desenvolvido pela própria Microsoft.

https://msdn.microsoft.com/en-us/library/dd877012(v=exchg.150).aspx

clip_image002

Para instalar esse NugetPackage no projeto, é requisito que ele seja .NET 4.0.

HOW TO:

Instale o pacote no projeto. E o resto é bem simples.

static void Main(string[] args)

{

ExchangeService service = new ExchangeService();

service.Credentials = new WebCredentials(meuemail@dominioOffice365.com.br, "SENHA");

service.TraceEnabled = true;

service.TraceFlags = TraceFlags.All;

service.AutodiscoverUrl(meuemail@dominioOffice365.com.br, RedirectionUrlValidationCallback);

EmailMessage email = new EmailMessage(service);

email.ToRecipients.Add(meuemail@dominioOffice365.com.br);

email.Subject = "HelloWorld";

email.Body = new MessageBody("Este é o primeiro e-mail que envio usando o EWS Managed API.");

email.Send();

Console.ReadLine();

}

 

E o método de apoio para validar o esquema do AutoDiscover:

private static bool RedirectionUrlValidationCallback(string redirectionUrl)

{

// The default for the validation callback is to reject the URL.

bool result = false;

Uri redirectionUri = new Uri(redirectionUrl);

// Validate the contents of the redirection URL. In this simple validation

// callback, the redirection URL is considered valid if it is using HTTPS

// to encrypt the authentication credentials.

if (redirectionUri.Scheme == "https")

{

result = true;

}

return result;

}

Atualizado (resultado):

Screen Shot 2016-07-13 at 8.05.47 PM 

Abraço!

Advertisements