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 TecnologiaOlá, 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.