
Neste artigo você aprenderá como enviar email utilizando a linguagem C#. Criaremos com o Visual Studio uma aplicação simples para o melhor entendimento do código necessário para o envio de email.
Vamos começar?!
Criando um projeto
Criaremos um projeto usando o Visual Studio clicando no menu File (arquivo) – New (novo) – Project (projeto), em Project Types (Tipos de projeto) escolha Visual C# e em Templates escolha ASP.NET Web Application, digite o nome e o local que salvará sua aplicação e clique em OK. Para ver detalhes observe a Figura 1.
Figura 1: Criando um projeto web
Incluindo no Web.Config
Criaremos uma chave que irá conter o email do remetente. Essa chave terá um nome e um valor e será inserida dentro da tag <appSettings>. Incluiremos também o smtp, o nome e a senha do usuário do email remetente dentro das tags <system.net><mailSettings>. O conteúdo incluído no Web.Config segue na Listagem1.
Listagem 1: Configuração do web.config da aplicação
Criando a classe de email
Para isso clique no ícone do projeto em Solution Explorer com o botão direito do mouse, escolha Add Class. Nomeie seu novo arquivo e clique em add. Os detalhes dessa operação podem ser vistos nas Figuras 2 e 3 e seu conteúdo na Listagem 2.
Figura 2: Adicionando uma nova classe ao projeto
Figura 3: Nomeando a classe adicionada
Listagem 2: Criando a Classe “E-mail”:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Configuration;
using System.Net.Mail;
namespace Email
{
public class email
{
///
/// Método para enviar email
///
///
Email do destinatário
///
Assunto do email
///
mensagem do email
public static void EnviarEmail(string emailDestinatario, string assunto, string mensagem)
{
//Cria o objeto que envia o e-mail
SmtpClient client = new SmtpClient();
//Cria o endereço de email do remetente
MailAddress de = new MailAddress(ConfigurationSettings.AppSettings["emailRemetente"]);
//Cria o endereço de email do destinatário -->
MailAddress para = new MailAddress(emailDestinatario);
MailMessage mensagem = new MailMessage(de, para);
mensagem.IsBodyHtml = true;
//Assunto do email
mensagem.Subject = assunto;
//Conteúdo do email
mensagem.Body = mensagem;
try
{
//Envia o email
client.Send(mensagem);
}
catch
{
}
}
}
}
Criando página para o envio do email
Para isso clique no ícone do projeto em Solution Explorer com o botão direito do mouse, escolha Add New Item. Na janela que se abre selecione o ícone Web Form. Nomeie seu novo arquivo e clique em add. Os detalhes dessa operação podem ser vistos nas Figuras 4 e 5.
Figura 4: Adicionando um novo Web Form
Figura 5: Nomeando o Web Form criado
A página terá o modelo conforme a Figura 6 e seu conteúdo segue nas listagens 3 e 4.
Figura 6: Formulário para envio de e-mail
Listagem 3: Conteúdo da página ASP.NET
Email do Destinatário: | |
Assunto: | |
Mensagem: | |
Listagem 4: Conteúdo da página aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Email
{
public partial class Email : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
if (CamposPreenchidos())
{
//Chama o método de envio de email.
//Passando o endereço do email destinatário, assunto e mensagem.
email.EnviarEmail(txtEmail.Text, txtAssunto.Text, txtMensagem.Text);
}
}
///
/// Método para verificar se todos os campos estão preenchidos
///
///
Email do destinatário
///
Assunto do email
///
mensagem do email
private bool CamposPreenchidos()
{
bool preenchidos = true;
if (txtEmail.Text == string.Empty)
{
lblErro.Text = "O email do destinatário é obrigatório.";
preenchidos = false;
return (preenchidos);
}
if (txtAssunto.Text == string.Empty)
{
lblErro.Text = "O assunto do email é obrigatório.";
preenchidos = false;
return (preenchidos);
}
if (txtMensagem.Text == string.Empty)
{
lblErro.Text = "A mensagem do email é obrigatória.";
preenchidos = false;
return (preenchidos);
}
return (preenchidos);
}
}
}
Conclusão
Esse artigo abordou de forma prática e simples o envio de email através da linguagem C#. Espero que tenham gostado do artigo e fiquem a vontade para fazer suas implementações como, por exemplo, incluir um anexo.
Artigo escrito por Fernanda Sallai no site linhadecodigo.com.br.
Site da Fernanda: http://www.fernandasallai.com/.
Facebook
Twitter
Instagram
LinkedIn
RSS