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 Twitter
Referências: