Enviar email em ASP.Net 2005
.Net : Enviando e-mails
por Lula

O CDONTS (Colaborative Data Objects for Windows NT) é um componente que pode ser utilizado pelo usuário do IIS (IUSR_NomedaMaquina) para o envio de e-mails. No Windows 2003, o componente mudou para o CDOSYS, mas é basicamente a mesma coisa.

Acontece que no .Net, o usuário da aplicação não é apenas o usuário do IIS. Quem faz a interpretação é o usuário ASP.NET, que não tem certos privilégios.

Pra utilizar o envio de e-mails em uma aplicação .Net, tem uma biblioteca do Framework chamada “Mail”.Pra utilizá-la no início da página faça a importação dela assim:

 

Imports System.Net.Mail

 

(Isto porque estamos usando o Framework 2.0, no .Net 2003, a biblioteca do Framework é outra)

 

Agora mandando o e-mail

 

Dim Mensagem As String

Mensagem = "Texto do E-mail" 'Se o e-mail for em HTML, as tags do HTML deve estar dentro deste texto também. Tipo <BR>, <B> e outros.

Dim SmtpMail As New SmtpClient 'Cria o client SMTP

 

'Para criar a nova mensagem de e-mail vamos passar os parêmetros :

'email de: Remetente

'email para: Destinatário

'Assunto do e-mail

'Corpo do e-mail  

Dim Email As New MailMessage("emailde@dominio.com.br","emailpara@dominio.com.br", "Assunto do E-mail", Mensagem.ToString)

 

Email.Cc.Add("emailcopia@dominio.com.br")'Se quiser enviar o e-mail com cópia para alguém  

Email.Bcc.Add("emailcopiaoculta@dominio.com.br") 'Se quiser enviar o e-mail com cópia oculta para alguém

 

'Configurações regionais, para evitar problemas com acentos e afins. Aqui está como Western Ocidental

Email.BodyEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1")

 

'Se for formatado em HTML  

Email.IsBodyHtml = True

 

'IP ou nome do Host do servidor de e-mail. Geralmente pode ser o IP da própria máquina, que tem um SMTP virtual server instalado.   

'Se não tiver, use o principal da sua rede, porém aí você pode ter problemas de usuário e senha para o envio do e-mail no servidor SMTP.

'Se for este o caso, antes disso, tem que ter a linha:

'SmtpMail.Credentials = New System.Net.NetworkCredential("usuario", "senha")

SmtpMail.Host = "127.0.0.1"

 

'Finalmente, envia o e-mail:

SmtpMail.Send(Email)

 

Este exemplo está usando a própria máquina de desenvolvimento (127.0.0.1) como servidor SMTP.