ActionMailer.Net: Email Templates de forma simples e rápida

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 de
uma video aula de Michel Banagouro demonstrando como implementar
esta biblioteca fantástica. Espero que aproveitem

 

Para saber mais:
Assista ao vídeo "ActionMailer.Net Uma maneira fácil de enviar email"
Aprofunde seus conhecimentos sobre este tema na comunidade ASP.Net

Exibições: 362

Comentar

Você precisa ser um membro de DevBrasil para adicionar comentários!

Entrar em DevBrasil

Comentário de Lucas Ribeiro Carneiro em 19 setembro 2013 às 12:38

Consegui solucionar Aislan Miranda...

É necessário colocar a imagem em um "Attachments" da seguinte forma:

string imgpath1;

imgpath1 = HostingEnvironment.MapPath(@"/images") + @"\imagem.jpg";
Attachments.Add("imagem.jpg", System.IO.File.ReadAllBytes(imgpath1));

Depois, é preciso chamar o item encapsuladona View:

<img src="cid:imagem.jpg" />

Funfo legal!

Comentário de Lucas Ribeiro Carneiro em 3 setembro 2013 às 18:20

Valeu pela força Aislan Miranda, mas não funcionou...

Estou pesquisando outras maneiras.

Comentário de Aislan Miranda em 3 setembro 2013 às 14:00

Lucas, tente assim:

<img src="../../Images/imagem.jpg" />

Comentário de Lucas Ribeiro Carneiro em 3 setembro 2013 às 13:38

Estou utilizando ActionMailer e me deparei com um problema.

Adicionei uma imagem na View do meu Email, mas ela não aparece.

<img src="~/Images/imagem.jpg" />

Alguém já teve esse problema??

Comentário de Aislan Miranda em 3 agosto 2013 às 19:18

Eu estou utilizando o ActionMailer em meu projeto para enviar e-mails e gostaria de saber se tem alguma propriedade que utilizamos para que os emails não cheguem no lixo eletrônico.

Att,

Comentário de Yan de Lima Justino em 29 novembro 2011 às 7:13
Comentário de André Gusmão em 28 novembro 2011 às 20:57

Eu tentei instalar mas deu a seguinte mensagem no PM:

Install-Package : The remote server returned an error: (404) Not Found.

© 2019   Criado por Ramon Durães.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço