Quem já teve alguma experiência com frameworks sabe que eles trazem algumas soluções bastante interessante e que auxiliam o desenvolvedor acelerando algumas rotinas repetitivas e muitas vezes enfadonhas. Uma dessas funcionalidades é o envio de email. Uma biblioteca bem conhecida é a ActionMailer. Esta biblioteca, que prover uma acesso facilitado para o envio de email template, agora está disponível para desenvolvedores .net e disponibilizada pelo NuGet. O seu uso na versão para MVC se resume nos seguintes pontos:

1) Baixe o pacote pelo Package Manager digitando o seguinte código

PM> Install-Package ActionMailer


2) Escreva seu controller herdando da classe MailerBase


public class MailController : MailerBase
{
   public EmailResult VerificationEmail(Usuario model)
   {
      To.Add(model.EmailAddress);
      From = "no-reply@mycoolsite.com";
      Subject = "MyCoolSite Account Verification";
      return Email(model);
   }
}


3) Crie sua view (cshtml) do email template como no exemplo abaixo
(nome da view criada foi VerificationEmail.html.cshtml)

 
@using ActionMailer.Net
@model Models.Usuario
@{
   Layout = null;
}

Bem-vindo, @Model.Nome 

Precisamos que você confirme sua conta de email.
 
Clique neste link para obter esta verificação! 
@Url.Action("Index", "Conta", new { chave = @Model.Codigo }, "http") 
Obrigado!
 


ATENÇÃO: para enviar o email como texto o arquivo cshtml deve ser escrito da seguinte forma: <nome arquivo>.text.cshtml. Já para enviar como html o arquivo deve ser salvo como: <nome arquivo>.html.cshtml.

 4) Chame a classe do controler

Pronto! Agora é só realizar a chamada da classe do controller criado como no exemplo abaixo

private void EnviarEmail(Usuario usuario)
{
   var email = new EmailController();
   email.VerificationEmail(usuario).Deliver();
}

Para esclarecer melhor o uso desta biblioteca, disponibilizo o link deuma video aula de Michel Banagouro demonstrando como implementaresta biblioteca fantástica. Espero que aproveitem

 
Para saber mais:

Assista ao vídeo "ActionMailer.Net Uma maneira fácil de enviar email"