 ASP 
.NET - Enviando 
Emails : HTML e anexos
ASP 
.NET - Enviando 
Emails : HTML e anexos
O envio de e-mail é feito por intermédio do - SMTP - (Simple Mail Transfer Protocol) , porta 25 . Você pode configurar o serviço SMTP no seu IIS - Internet Information Server - , ou se desejar , pode usar um componente de terceiros ; dê uma olhada no link - https://www.infoq.com/research/dotnet-web-components
Pode usar também o componente CDONTs (Collaboration Data Objects for WIndows NT Server) ou um servidor SMTP válido.
Para enviar emails no ASP.NET você tem que importar a classe que contém os métodos e propriedades que fazem este serviço. Estou falando da classe : System.Web.Mail
Nota: A classe System.Web.Mail não suporta autenticação segura do servidor SMTP. Portanto se o seu servidor SMTP requerer autenticação o exemplo acima não vai funcionar.
 Você vai ter que usar um componente de terceiros.
Obs:  Veja o site  
 http://www.aspemail.com .

Para lembrar abaixo temos os principais métodos e propriedades da classe que iremos usar:
| Métodos/Propriedades | Descrição | 
| Body | Corpo do e-mail | 
| BodyFormat | formato do e-mail | 
| Cc | Enviar uma cópia para | 
| Attachments | Anexar arquivos | 
| From | origem do e-mail | 
| Subject | Assunto | 
| To | destino do e-mail | 
| Priority | nível de prioridade | 
| SMTPServer | o dominio do servidor SMTP usado | 
Enviando um Email simples
No artigo - Enviando Emails - eu mostrei a forma mais simples de enviar um email , neste artigo iremos ver como enviar um email no formato HTML e com anexos. Abaixo temos um novo exemplo de envio de email simples usando o servidor SMTP do IIS.
| <% @Page 
    Language="VB" %> <% @Import Namespace="System.Web.Mail" %> <% Dim strPara As String Dim strDe As String Dim strtexto As String strPara = "macoratti@yahoo.com" strDe = "webmaster@visualbasic.mat.br" strTexto = "Ola , Macoratti" SmtpMail.Send(strDe, strPara, strTexto,"Esta eh uma mensagem de teste de envio de email") Response.Write("Email foi enviado !!!") %> | - Este 
    simples script é tudo o que você precisa para enviar um email usando o 
    Serviço SMTP do IIS. - Estou usando o namespace : "System.Web.Mail" onde encontramos a classe StmpMail , cujo método estático Send pode aceitar até quatro parâmetros: SmtpMail.Send(From, To, Subject, BodyText); | 
Enviando Email no formato HTML
Vamos então avançar um pouco. A classe MailMessage permite a definição do formato na método - BodyFormat - . A variável string strBody contém as tags HTML com a mensagem a ser enviada.
| <%@ Page 
    Language="VB" clienttarget=uplevel %> <% @Import Namespace="System.Web.Mail" %> <% Dim strBody As String Dim msgMail As new MailMessage() msgMail.To = "macoratti@yahoo.com" msgMail.Cc = "webmaster@visuabasic.mat.br" msgMail.From = "webmaster@visuabasic.mat.br" msgMail.Subject = "OLá, Macoratti , ai vai outro email..." msgMail.BodyFormat = MailFormat.Html; strBody = "<html><body><b>Olá, Pessoal</b> , <font color=blue> uma abraço do Macoratti</font></body></html>" msgMail.Body = strBody SmtpMail.Send(msgMail) Response.Write("Email enviado no formato HTML !") %> | 
Nota: Estamos usando o método Send sobrecarregado que não esta retornando valores após o envio da mensagem de email. Como estamos usando o serviço SMTP do IIS os emails que falharem irão ser enviados para a pasta BadMail.
Enviando Email com anexos
| <%@ Page 
    Language="VB" clienttarget=uplevel %> <% @Import Namespace="System.Web.Mail" %> <% Dim strBody As String Dim msgMail As new MailMessage() msgMail.To = "macoratti@yahoo.com" msgMail.Cc = "webmaster@visuabasic.mat.br" msgMail.From = "webmaster@visuabasic.mat.br" msgMail.Subject = "OLá, Macoratti , ai vai outro email..." msgMail.BodyFormat = MailFormat.Text; strBody = "Este é mais um teste de envio de email com anexo usando o STMP do IIS" msgMail.Body = strBody msgMail.Attachments.Add(New 
    MailAttachment("d:\teste\teste.txt")) | 
A unica diferença aqui é linha :
msgMail.Attachments.Add(New MailAttachment("d:\teste\teste.txt"))
que podemos também usar da seguinte forma:
| MailAttachment mAnexo = new MailAttachment("c:\teste\teste.pdf"); IList msgAttachments = msgMail.Attachments; msgAttachments.Add(mAnexo); | 
Aqui os anexos são tratados através da interface IList (encontrada no namespace System.Collections) que fornece um método Add com o qual incluimos o anexo.
Simples não é mesmo , até mais ver .... 
| Veja os 
    Destaques e novidades do SUPER DVD Visual Basic 
(sempre atualizado) : clique e confira ! Quer migrar para o VB .NET ? 
 Quer aprender C# ?? 
 | 
             Gostou ?
  Compartilhe no Facebook
Compartilhe no Facebook
  
 Compartilhe no Twitter
 
Compartilhe no Twitter
 
Referências: