System.Net.Mail;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Net.Mail;
Após isso, vamos criar um método do tipo void, ou seja, não terá retorno, para enviar o email. Veja a seguir a declaração do método com seus parâmetros:
/// <summary>
/// Classe Envia Email - Variáveis
/// </summary>
/// <param name="from">Remetente</param>
/// <param name="recepient">Destinatário</param>
/// <param name="cc">Com Cópia</param>
/// <param name="bcc">Com Cópia Oculta</param>
/// <param name="subject">Assunto</param>
/// <param name="body">Corpo da Mensagem</param>
public void EnviaEmail(string from, string recepient, string cc, string bcc, string subject, string body)
{
}
Ok, agora vamos atribuir as variáveis criadas aos valores que serão passados usando as classes do System.Net.Mail:
public void EnviaEmail(string from, string recepient, string cc,
string bcc, string subject, string body)
{
//instancio a classe MailMessage, responsável por atribuir
//os valores para as variáveis declaradas no método MailMessage email = new MailMessage();
//endereço do remetente, chamo o método From que recebe uma nova
//instância de MailAdress passando como parâmetro a variável from email.From = new MailAddress(from);
//destinatário, uso método Add, já que posso enviar para várias pessoas email.To.Add(new MailAddress(recepient));
//faço uma verificação, se houver cc e bcc, envio if (cc != "")
{email.CC.Add(new MailAddress(cc));
}if (bcc != "")
{
email.Bcc.Add(new MailAddress(bcc));
}
//defino o assunto
email.Subject = subject;
//defino o corpo da mensagem
email.Body = body;
//defino que o formato do texto será HTML
email.IsBodyHtml = true;
//minha prioridade de envio será normal
email.Priority = MailPriority.Normal;
//instancio o SMTP passando o host configurado no IIS
SmtpClient smtp = new SmtpClient("exemplo.server.com");
//envio o email por meio do método Send, passando como
//parâmetro a variável instanciada da classe MailMessage
smtp.Send(email);
}
Nosso método está pronto. Agora abra o modo design da página Default.aspx, criada por padrão, e insira os campos referentes ao envio de email dessa forma:

Ordem: txtDe, txtPara, txtCc, txtBcc, txtAssunto, txtTexto, btnEnviar e lblMsg.
Dê dois cliques no botão Enviar e digite o seguinte código:
protected void btnEnviar_Click(object sender, EventArgs e){
//instancio a classe de envio de email
EnvioEmail email = new EnvioEmail();//chamo o método EnviaEmail, passando os textboxes como parâmetros
email.EnviaEmail(txtDe.Text, txtPara.Text, txtCc.Text, txtBcc.Text, txtAssunto.Text, txtTexto.Text);
}
Essa é a forma básica de enviar emails com ASP.NET. Este exemplo só irá funcionar corretamente se o seu domínio estiver usando o SMTP configurado no IIS (Internet Information Services) e autenticado. Dito isto, não adianta eu rodar a aplicação e clicar no botão de Enviar, já que minha máquina não está configurada e o intuito desse artigo é apenas de mostrar como é simples criar um método para enviar email. Podemos configurar o SMTP pelo Web.config, arquivo de configuração de nossa aplicação.
Faça o seguinte método para enviar um email com anexo: crie um botão com o nome Anexar e ID btnAnexar, dê dois cliques nele e digite o seguinte código (antes não se esqueça de usar o namespace System.Net.Mail):
protected void btnAnexar_Click(object sender, EventArgs e)
{//instancio a classe MailMessage
MailMessage email = new MailMessage();
//endereço do remetente, chamo o método From que recebe uma nova
//instância de MailAdress passando como parâmetro um email de exemplo
email.From = new MailAddress("envioemail@exemplo.com.br");
//destinatário, uso método Add, já que posso enviar para várias pessoas
email.To.Add(new MailAddress("wellingtonbalbo@gmail.com"));
//defino o assunto
email.Subject = "Teste de envio com sucesso!";
//defino o corpo da mensagem
email.Body = "body";
//uso o método Attachments para anexar arquivos, lembrando que anexar
//quantos arquivos quiser, desde que seja dada a permissão a este usuário
email.Attachments.Add(new Attachment("C:\\teste01.txt"));
email.Attachments.Add(new Attachment("C:\\teste02.txt"));
email.Attachments.Add(new Attachment("C:\\teste03.txt"));
//instancio o SMTP passando o host configurado no IIS
SmtpClient smtp = new SmtpClient("127.0.0.1");
//envio o email por meio do método Send, passando como
//parâmetro a variável instanciada da classe MailMessage
smtp.Send(email);
}
Att,
Leonardo Rocha.
Nenhum comentário:
Postar um comentário
Informações de contato
Nome:
E-mail:
Telefone: