Desenvolvimento - ASP. NET

Enviando email com ASP.Net

Olá, vamos inicializar este artigo com um clássico código para envio de e-mail utilizando o ASP.NET. Acredito que seja um dos tópicos dos mais questionados por alunos em nossos cursos de ASP I pelo fato deste recurso atender tanto a comunicação quanto à integração entre pessoas e empresas...

por Impacta Tecnologia



Olá, vamos inicializar este artigo com um clássico código para envio de e-mail utilizando o ASP.NET. Acredito que seja um dos tópicos dos mais questionados por alunos em nossos cursos de ASP I pelo fato deste recurso atender tanto a comunicação quanto à integração entre pessoas e empresas.

Se você não sabe, sou desenvolvedor em VB e XML, conseqüentemente eu estarei utilizando VB.NET com ASP.NET em todos meus exemplos. (Não que eu não acha muito interessante também o C#, mas deixarei para abordar outros artigos com ele mais tarde).

Primeiramente deve-se saber que a tecnologia.NET, namespaces consiste em classes, interfaces, delegates e enumeradores que permitem comunicação browser-client e há namespace que contem as classes requeridas que nos permitem criar e enviar mensagens.

O namespace System.Web.Mail fornece-nos as seguintes classes:

  • MAIL ATTACHMENT
  • MAIL MESSAGE
  • SMTP MAIL

Os nomes das classes são completamente descritivos e elas mesmas explicam sua funcionalidade, porém eu darei uma descrição breve de cada uma das classes. A primeira classe, chamada de Mail Attachment, permite que você inclua anexos em suas mensagens. Ela fornece os determinados métodos e propriedades para isto. A segunda classe, a Mail Message, fornece os métodos e propriedades para estruturar o Email como To, From, Cc, BCc, Subject, Body, entre outros. A terceira classe permite emitir seus correios através do smtp (Simple Mail Transfer Protocol) que é um protocolo para transferência de e-mail.

Vale a ressalva que temos outras classes para esse mesmo namespace. São elas: MailFormat, MailPriority e MailEncoding.

Agora vamos ver como nós usamos estas classes em nossa aplicação ou projetos para envio de email. Primeiramente devemos criar o objeto e definira as propriedades.

Listagem 1: Criando a mensagem

<%@ Import Namespace="System.Web.Mail" %>
<Script Language="VB" Runat="Server">

Sub Page_Load(Source As Object, Sender As EventArgs)

   Dim objMailMessage As New MailMessage()

   With objMailMessage
          .To      = "aluno13@classroom.net"
          .From    = "FERNANDO COSTTA"
          .Subject = "Como enviar email utilizando ASP.NET"
          .Body    = "VENHA AO NOSSO CURSO..IMPACTA TECNOLOGIA..HA 10 anos" 
   End With
              
End Sub

</Script>

Até então a única coisa que eu fiz foi criar simplesmente um objeto de mensagem do correio e ajustar suas propriedades conformemente. Vem agora a peça onde nós temos que emitir a mensagem. Para isto, nós estaremos usando a classe do correio do smtp. Veja o seguinte código.

Listagem 2: Enviando o email

SmtpMail.SmtpServer = "JUPITER"
SmtpMail.Send(objMailMessage)

Você pode ver que eu adicionei somente duas linhas novas sobre o antigo código. Agora, estou chamando diretamente o os métodos e as propriedades do SmtpMail sem criar um objeto dele. Você pode também conseguir resultados similares fazendo um objeto e então ajustando a propriedade e chamando o método da classe. A primeira linha aqui ajusta a propriedade da classe de SmtpMail. SmtpMail.SmtpServer = "JUPITER"

Esta propriedade especifica o servidor SMTP que será utilizado para o envio dos email, aqui "JUPITER" é o nome da minha máquina e servidor. A próxima linha, SmtpMail.Send(objMailMessage)

faz a requisição da entrada da classe objMailMessage como entrada de parâmetro, e então é enviado o e-mail.

Antes de finalizar, como poderíamos anexar arquivo?

Listagem 3: Anexando arquivo à mensagem

objMailMessage.Attachments.Add(MailMessage("e:\bk_em.zip"))

É isso. Até breve.

Impacta Tecnologia

Impacta Tecnologia - http://www.impacta.com.br
Tel.: (11) 3285 5566