Enviando e-mails utilizando ASP.Net 2.0 Enviando e-mails utilizando ASP.Net 2.0
No framework .Net 2.0 podemos implementar o envio de e-mails utilizando a nova classe System.Net.Mail, que foi a criada para substituir a conhecida System.Web.Mail. Através desta classe podemos criar um objeto com os dados do e-mail independente das configurações de SMTP que ficam a cargo de outro objeto.
Abaixo segue um exemplo com as principais funcionalidades desta classe:
VB.Net: <%@ Page Language="VB" %>
<script runat="server">
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
'cria objeto com dados do e-mail
Dim objEmail As New System.Net.Mail.MailMessage()
'remetente do e-mail
objEmail.From = New System.Net.Mail.MailAddress("Nome <email@seudominio.com.br>")
'destinatários do e-mail
objEmail.To.Add("Nome <email@dominio.com.br>")
objEmail.To.Add("Nome <email@dominio.com.br>")
'enviar cópia para
objEmail.To.Add("Nome <email@dominio.com.br>")
'enviar cópia oculta para
objEmail.Bcc.Add("Nome <email@dominio.com.br>")
'prioridade do e-mail
objEmail.Priority = System.Net.Mail.MailPriority.Normal
'formato do e-mail HTML (caso não queira HTML alocar valor false)
objEmail.IsBodyHtml = True
'título do e-mail
objEmail.Subject = "título do e-mail"
'corpo do e-mail
objEmail.Body = "Escreva aqui o seu <b>texto</b>"
' Para evitar problemas de caracteres "estranhos", configuramos o charset para "ISO-8859-1"
objEmail.SubjectEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1")
objEmail.BodyEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1")
'cria objeto com os dados do SMTP
Dim objSmtp As New System.Net.Mail.SmtpClient
'alocamos o endereço do host para enviar os e-mails, localhost(recomendado) ou smtp2.locaweb.com.br
objSmtp.Host = "localhost"
'enviamos o e-mail através do método .Send()
Try
objSmtp.Send(objEmail)
Response.Write("E-mail enviado com sucesso !")
Catch ex As Exception
Response.Write("Ocorreram problemas no envio do e-mail. Error = " & ex.Message)
End Try
'excluímos o objeto de e-mail da memória
objEmail.Dispose()
End Sub
</script>
C#: <%@ Page Language="C#" %>
<script runat="server">
public void Page_Load(Object Sender, EventArgs e)
{
//cria objeto com dados do e-mail
System.Net.Mail.MailMessage objEmail = new System.Net.Mail.MailMessage();
//remetente do e-mail
objEmail.From = new System.Net.Mail.MailAddress("Nome <email@seudominio.com.br>");
//destinatários do e-mail
objEmail.To.Add("Nome <email@dominio.com.br>");
objEmail.To.Add("Nome <email@dominio.com.br>");
//enviar cópia para
objEmail.To.Add("Nome <email@dominio.com.br>");
//enviar cópia oculta para
objEmail.Bcc.Add("Nome <email@dominio.com.br>");
//prioridade do e-mail
objEmail.Priority = System.Net.Mail.MailPriority.Normal;
//formato do e-mail HTML (caso não queira HTML alocar valor false)
objEmail.IsBodyHtml = true;
//título do e-mail
objEmail.Subject = "título do e-mail";
//corpo do e-mail
objEmail.Body = "Escreva aqui o seu <b>texto</b>";
//Para evitar problemas de caracteres "estranhos", configuramos o charset para "ISO-8859-1"
objEmail.SubjectEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1");
objEmail.BodyEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1");
//cria objeto com os dados do SMTP
System.Net.Mail.SmtpClient objSmtp = new System.Net.Mail.SmtpClient();
//alocamos o endereço do host para enviar os e-mails, localhost(recomendado) ou smtp2.locaweb.com.br
objSmtp.Host = "localhost";
//enviamos o e-mail através do método .send()
try
{
objSmtp.Send(objEmail);
Response.Write("E-mail enviado com sucesso !");
}
catch(Exception ex)
{
Response.Write("Ocorreram problemas no envio do e-mail. Error = " + ex.Message);
}
//excluímos o objeto de e-mail da memória
objEmail.Dispose();
}
</script>
Observação: Lembramos que o código informado acima é um simples exemplo de implementação utilizando o namespace System.net.Mail. Para maiores detalhes referente a programação, sugerimos que verifique com o seu desenvolvedor.
Referências:
http://msdn2.microso...m.net.mail.aspx http://msdn2.microso...ailmessage.aspx http://www.google.co...a...oogle&meta=http://site.locaweb....aq.asp?faq=1502