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. Atravs desta classe podemos criar um objeto com os dados do e-mail independente das configuraes 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>")
destinatrios do e-mail
objEmail.To.Add("Nome <email@dominio.com.br>")
objEmail.To.Add("Nome <email@dominio.com.br>")
enviar cpia para
objEmail.To.Add("Nome <email@dominio.com.br>")
enviar cpia 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 no queira HTML alocar valor false)
objEmail.IsBodyHtml = True
ttulo do e-mail
objEmail.Subject = "ttulo 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 endereo do host para enviar os e-mails, localhost(recomendado) ou smtp2.locaweb.com.br
objSmtp.Host = "localhost"
enviamos o e-mail atravs do mtodo .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
exclumos o objeto de e-mail da memria
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>");
//destinatrios do e-mail
objEmail.To.Add("Nome <email@dominio.com.br>");
objEmail.To.Add("Nome <email@dominio.com.br>");
//enviar cpia para
objEmail.To.Add("Nome <email@dominio.com.br>");
//enviar cpia 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 no queira HTML alocar valor false)
objEmail.IsBodyHtml = true;
//ttulo do e-mail
objEmail.Subject = "ttulo 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 endereo do host para enviar os e-mails, localhost(recomendado) ou smtp2.locaweb.com.br
objSmtp.Host = "localhost";
//enviamos o e-mail atravs do mtodo .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);
}
//exclumos o objeto de e-mail da memria
objEmail.Dispose();
}
</script>
Observao: Lembramos que o cdigo informado acima um simples exemplo de implementao utilizando o namespace System.net.Mail. Para maiores detalhes referente a programao, sugerimos que verifique com o seu desenvolvedor.
Caso voc seja um cliente de revenda, o servidor SMTP a ser usado deve ser o “localhost”, como j est sugerido no cdigo.
Referncias:http://msdn2.microsoft.com/en-us/library/system.net.mail.aspxhttp://msdn2.microsoft.com/en-us/library/system.net.mail.mailmessage.aspx