Olá pessoal, tudo bom?
Deixo aqui uma pequena dica para aqueles que querem enviar e-mails a partir de formulários ou rotinas em ASP.NET. O Framework .NET possui um namespace específico para esse fim que é o System.Net.Mail. Tal namespace possui uma série de classes e métodos para a prática de envio de e-mail, porém exploro apenas algumas delas nos exemplos a seguir:
Exemplo 1: Enviando mensagens sem formatação de texto ou anexos
.... using System.Net.Mail; .... .... protected void btnEnviar_Click(object sender, EventArgs e) { SmtpClient email = new SmtpClient("smtp.servidor.com"); //Utilize seu próprio servidor SMTP try { email.Send(txtEmailRemetente.Text,txtTo.Text,txtAssunto.Text,txtMensagem.Text); lblMensagem.Text = "OK"; } catch (Exception erro) { lblMensagem.Text = erro.Message; } }
Exemplo 2: Enviando mensagens com textos formatados, com cópia ou cópia oculta e anexos
.... using System.Net.Mail; .... .... protected void btnEnviar_Click(object sender, EventArgs e) { SmtpClient email = new SmtpClient("smtp.servidor.com"); //Utilize seu próprio servidor SMTP try { MailMessage msg = new MailMessage(); MailAddress remetente = new MailAddress(txtEmailRemetente.Text, txtNomeRemetente.Text); msg.From = remetente; msg.Subject = txtAssunto.Text; msg.Body = txtMensagem.Text; msg.IsBodyHtml = true; if (!txtTo.Text.Equals(string.Empty)) //Verifica se há destinatário msg.To.Add(txtTo.Text); if (!txtCC.Text.Equals(string.Empty)) //Verifica se há destinatário com cópia msg.CC.Add(txtCC.Text); if (!txtBCC.Text.Equals(string.Empty)) //Verifica se há destinatário com cópia oculta msg.Bcc.Add(txtBCC.Text); if (fuAnexo.HasFile) //Verifica se há anexo { Attachment anexo = new Attachment(fuAnexo.PostedFile.InputStream, fuAnexo.FileName); msg.Attachments.Add(anexo); } email.Send(msg); lblMensagem.Text = "OK"; } catch (Exception erro) { lblMensagem.Text = erro.Message; } }
Grande abraço,
Eduardo Henrique Rizo
[twitter-follow screen_name='eduardorizo' show_count='yes']
Estou usando a hospedagem da locaweb, e ele retorna a seguinte msg ” Para envio de mensagens e necessaria autenticacao. ” … alguem sabe o que devo fazer?
Boa tarde Victor, tudo bom?
Bastaria fazer o seguinte:
…
email.UseDefaultCredentials = false;
email.Credentials = new System.Net.NetworkCredential(“seu login”,”sua senha”);
…
Abraços,
Eduardo Henrique Rizo