Você está na página 1de 6

CRIANDO MASTER PAGES NO ASP.

NET

ENVIANDO EMAIL ASP.NET & VB.NET IMPORTANDO XML COM .NET

GANHANDO PERFORMANCE NA COMPARAO DE STRINGS MANUAL .NET DO DESENVOLVEDOR

TABELA DE CORES HTML

.NET

Search

DICAS, ARTIGOS E PUBLICAES SOBRE .NET

ENVIANDO EMAIL ASP.NET & VB.NET


O SMTP Simple Email Transfer Protocol o protocolo padro para a transmisso de mensagens eletrnicas na internet. O protocolo atual conhecido como ESMTP e esta definido na RFC 2821. O protocolo SMTP usa a porta TCP 25. Como o prprio nome denota o SMTP um protocolo relativamente simples baseado em texto, onde um ou mais recipientes de uma mensagem so especificados e ento a mensagem transferida. Voc pode testar o protocolo efetuando a comunicao com um servidor Smtp usando uma conexo telnet. Apos estabelecer a conexo com o servidor as mensagens enviadas pelo cliente so identificadas com a etiqueta C: e as enviadas pelo servidor pela etiqueta S:. Abaixo um exemplo de uma tpica conexo telnet iniciada por um cliente:

telnet http://www.exemplo.com 25
S: 220 http://www.exemplo.com ESMTP Postfix C: HELO mydomain.com S: 250 Ola mydomain.com C: MAIL FROM: <remetente@mydomain.com> S: 250 Ok C:

RCPT TO:<friend@example.com> S: 250 Ok C: DATA S: 354 End data with <CR><LF>.<CR> <LF> C: Subject: teste mensagem C: From: remetente@mydomain.com C: To: amigo@exemplo.com C: C: Ola, C: Isto um teste. C: Tchau. C: . S: 250 Ok: queued as 12345 C: QUIT S: 221 Tchau

Enviar e-mails com ASP.NET uma tarefa bem simples de ser realizada. Na verso 1.1 da .NET Framework usvamos as classes do namespace System.Web.Mail. Na verso 2.0 temos novas classes localizadas no namespace System.Net.Mail.

Para enviar um e-mail em ASP.NET 2.0 vamos usar basicamente duas classes do namespace System.Net.Mail: MailMessage Representa um mensagem de E-mail; Possui propriedades como: From, To, Subject, Body, IsBodyHtml, etc. SmtpClient Envia uma instncia definida de um objeto MailMessage para um instncia definida de um servidor SMTP. As etapas principais para realizar esta tarefa em ASP.NET 2.0 so: 1. Criar um objeto MailMessage 2. Atribuir ao objeto as propriedades pertinentes ao Email (remetente, destinatrio, assunto, mensagem,) 3. Criar uma instncia de uma classe SmtpClient 4. Definir detalhes sobre o servidor SMTP (Voc pode fazer isto no web.config) 5. Enviar o E-mail (MailMessage) usando o mtodo Send do objeto SmtpClient .

Nota: As etapas 1 e 2 podem ser suprimidas visto que o mtodo Send da classe SmtClient pode aceitar um objeto MailMessage ou 4 parmetros do tipo strings que representam o remetente (From), o destinatrio (To), o assunto (Subject ) e a mensagem (Body) que iro compor o email. Alm destas funcionalidades bsicas o namespace System.Net.Mail contm classes que permitem a utilizao de funcionalidades avanadas como: Incluso de anexos Embutir objetos Definir informao de autenticao de servidor SMTP Classes para tratamento de exceo derivadas de Exception Uma das principais tarefas que devemos efetuar para enviar um e-mail a partir de uma pgina ASP.NET fornecer informaes para a classe SmtpClient sobre o servidor. Precisamos informar o nome do servidor, a porta a ser usada (o padro a porta 25) se vamos usar SSL e as credenciais para autenticao quando necessrias. Podemos definir estas informaes via programao atravs das propriedades da classe StmpClient ou podemos centralizar as informaes no arquivo web.config. Para usar o web.config devemos incluir um elemento <system.net> no interior do elemento <configuration>. A seguir inclumos um elemento <mailSettings> que contm um elemento <smpt> cujas configuraes so definidas no interior do elemento filho <child>. A seguir um exemplo de um trecho do web.config contendo as configuraes.

<configuration> <! Inclui configurao do email no elemento <system.net>> <system.net> <mailSettings> <smtp> <network host=smtp2.meuServidorSmtp.com port=25 userName=sinhorinho password=senha /> </smtp> </mailSettings> </system.net>

<system.web> </system.web> </configuration>

Vamos criar um projeto usando o Visual Web Developer para enviar e-mail a partir de uma pgina Asp.Net onde iremos efetuar as configuraes do e-mail e do servidor SMTP via cdigo. Inicie o VWD e no menu File selecione a opo New Web Site. Informe o nome enviaEmail2 e clique em OK. Ser criada uma pgina Default.aspx e seu codebehind Default.aspx.vb e um arquivo web.config. Selecione o arquivo Default.aspx e no modo Design insira uma tabela e alguns componentes: Button,Text, Label e CheckBox (HTML) conforme a figura abaixo:

A seguir no arquivo Defaultp.aspx.vb inclua o seguinte cdigo que ir definir as propriedades do email e do servidor SMTP. Imports System.Net.MailImports System.textPartial Class _DefaultInherits System.Web.UI.PageProtected Sub btnEnviar_ServerClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnEnviar.ServerClick cria objeto para receber os dados do emailDim oEmail As New MailMessage remetente do emailoEmail.From = New MailAddress(txtRemetente.Text)destinatario do emailoEmail.To.Add(txtDestinatario.Text)destinatario de copia do emailoEmail.To.Add(txtCopiaPara.Text)destinatario de copia ocultaoEmail.Bcc.Add(txtCopiaOculta.Text)prioridade

de enviooEmail.Priority = MailPriority.Normaldefine o formato do emailIf chkFormato.Checked ThenoEmail.IsBodyHtml = TrueElseoEmail.IsBodyHtml = FalseEnd Ifdefine o assunto do emailoEmail.Subject = txtAssunto.Textdefine a mensagem principal do emailoEmail.Body = txtMensagem.TextPara evitar problemas com caracteres especiais configuramos o CharsetoEmail.SubjectEncoding = Text.Encoding.GetEncoding(ISO-88591)oEmail.BodyEncoding = Text.Encoding.GetEncoding(ISO-8859-1)cria o objeto SMTPDim oSmtp As New SmtpClientoSmtp.Host = Localhost Tryenvia o emailoSmtp.Send(oEmail)lblAviso.Text = Email enviado com sucesso. Catch ex As ExceptionlblAviso.Text = Ocorreu um erro ao enviar o email : & ex.MessageFinallylimpa o objeto da memria oEmail.Dispose()End Try End Sub End Class

Ao clicar no boto Enviar Email o cdigo acima cria os objetos necessrios configurando-os com as informaes recebidas do formulrio e envia o email usando o servidor SMTP. Nota: Voc dever informar um servidor SMTP vlido na propriedade Host para poder enviar os emails.

Curtir Carregando...

2 THOUGHTS ON ENVIANDO EMAIL ASP.NET & VB.NET


teste do site Resposta

alex
setembro 2, 2008 9:52 pm

http://ultrashopweb.com Resposta

Elizeu
setembro 3, 2008 11:01 am

DEIXE UMA RESPOSTA


Escreva o seu comentrio aqui...

ARQUIVOS

maio 2008

META

Registrar-se Login

Blog no WordPress.com. Tema: Newsworthy por WPThemes.co.nz.