Enviar e-mails assíncronos com Tasks em C#

0

Enviar e-mails é uma tarefa simples como um todo,

A partir do .NET 4.5 SmtpClient implementa async métodoawaitable” SendMailAsync. Como resultado, para enviar e-mail de forma assíncrona é o seguinte:
public async Task SendEmail(string toEmailAddress, string emailSubject, string emailMessage)
{
    var message = new MailMessage();
    message.To.Add(toEmailAddress);

    message.Subject = emailSubject;
    message.Body = emailMessage;

    using (var smtpClient = new SmtpClient())
    {
        await smtpClient.SendMailAsync(message);
    }
} 
Vale lembrar ainda que você precisa colocar suas credenciais e configurações de SMTP, veja esta de exemplo para SMTP de envio do Gmail do Google:
 var smtp = new SmtpClient
            {
                Host = "smtp.gmail.com",
                Port = 587,
                EnableSsl = true,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
            };
            
Simples não é mesmo? 🙂
Um grande abraço!
Compartilhe.

Sobre o autor

Criador do blog Código Simples e com mais 9 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist. Atuando em funções analista, desenvolvedor, arquiteto, líder técnico e gestor de equipes. Mais informações em : http://jhonathansoares.com