Busca online em todo site:

Seja bem vindo(a) Visitante, voc no est logado deseja logar
na comunidade ASPNETi.COM e participar de servios e promoes ? clique aqui.




Título do Artigo

Orientação a Objetos com Visual Studio.NET (parte 2)


Data Publicação: 16/3/2006 8:41:25
Total de visualizações: 3968

comente
 


Olá pessoal, como foi dito no primeiro artigo, essa segunda parte será bem simples. Mostra que depois do cadastro do usuário é enviado um e-mail automaticamente. Antes de tudo irei criar duas novas classes para o projeto. Uma se chamará ConstantesSistema.cs e a outra EnviaEmail.cs.

 

Requisitos:

- Visual Studio .NET 2005

- Ler o a primeira parte do artigo.

 

A primeira classe armazena as variáveis do sistema para enviar e-mail.

A segunda classe terá dois métodos para enviar e-mail automaticamente.

A classe EnviaEmail.cs estende da classe ConstantesSistema.cs, ou seja, todas as variáveis e métodos criados na classe estendida poderá ser acessado e usado na classe de e-mail.

 

Referência: 1.1

 

As duas classes circuladas na figura 1.1 mostra que serão usadas neste artigo.

Seguindo com o sistema, a figura 1.2 é mostrada apenas as variáveis.

 

 

 Referência: 1.2

 

Segue a descrição abaixo para facilitar a copia.

 

 

public class ConstantesSistema

{

      public string MAIL_DE = "EMAIL QUE IRÁ ENVIAR";

      public string PW_DE = "SENHA DO EMAIL";

      public string SMTP_MAIL = "SMTP DO SERVIDOR DE EMAIL";

      public string SMTP_AUT = "1";

}

 

Referência: 1.3

Explicando as variáveis:

 

MAIL_DE é o e-mail que estará no campo e-mail de. Imagine mandando um e-mail, sempre o seu e-mail estará no campo e-mail de.

PW_DE é a senha do e-mail que enviará.

SMTP_MAIL é o smtp do servidor de e-mail que tens, por exemplo, smtp.terra.com.br.

SMTP_AUT é o tipo da autenticação, ou seja, numero 1.

 

É bem simples a classe ConstantesSistema.cs.

 

 

Referência: 1.4

 

Continuando com o artigo e indo para a classe de E-mail, irei inserir dois métodos, um para autenticar e outro para enviar o e-mail propriamente dito.

 

 

 

Referência: 1.5

 

A figura 1.5 mostra o método que envia e-mail. Analisando a assinatura do método, veja que não retorna valor algum e espera quatro parâmetros de entrada. Segue o código.

 

 

/// <summary>

      /// Envia e-mail automaticamente

      /// </summary>

      /// <param name="usuarioNome"></param>

      /// <param name="usuarioEmail"></param>

      /// <param name="descricaoEmail"></param>

      /// <param name="tituloEmail"></param>

      public void enviarEmail(string usuarioNome, string usuarioEmail,

                        string descricaoEmail, string tituloEmail)

      {

            try

            {

                  MailMessage mail = new MailMessage();

                  mail.From = MAIL_DE;

                  mail.To = usuarioEmail;

                  mail.Subject = tituloEmail;

                  mail.BodyFormat = MailFormat.Html;

 

                  mail.Body = descricaoEmail;

 

                  getAutenticacao(mail);

 

                  SmtpMail.SmtpServer = SMTP_MAIL;

                  SmtpMail.Send(mail);

 

            }

            catch (Exception e)

            {

                  throw new Exception(e.Message);

            }

      }

 

Referência: 1.6

 

Explicando os parâmetros de entrada:

usuarioNome: é o nome do usuário que receberá o e-mail.

usuarioEmail: é o e-mail do usuário que irá receber.

descricaoEmail: é a descrição do e-mail que irá ao corpo da mensagem.

tituloEmail: é o titulo que irá no e-mail enviado.

 

Isso tudo, usarei dentro do bloco try do método. O método catch pega o erro que ocorrer. Primeiro instancio o método da classe using System.Web.Mail; chamado MailMessager. O nome da variável chama-se mail. Portanto uso-a para atribuir os parâmetros e valores em seus respectivos campos.

 

 

try

            {

                  MailMessage mail = new MailMessage();

                  mail.From = MAIL_DE;

                  mail.To = usuarioEmail;

                  mail.Subject = tituloEmail;

                  mail.BodyFormat = MailFormat.Html;

 

                  mail.Body = descricaoEmail;

 

                  getAutenticacao(mail);

 

                  SmtpMail.SmtpServer = SMTP_MAIL;

                  SmtpMail.Send(mail);

 

            }

 

Referência: 1.7

 

Não esqueça de que uso as variáveis da classe constantesSistema. Isso economiza muita coisa, se o e-mail ou senha ou smtp mudar, apenas será mudado em um local, ou seja, na classe ConstantesSistema.cs.

A linha que está em amarelo é um outro método que serve para autenticar a mensagem que será enviada.

 

 

 

 

private void getAutenticacao(MailMessage mail)

      {

            mail.Fields["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"] = SMTP_AUT;

            mail.Fields["http://schemas.microsoft.com/cdo/configuration/sendusername"] = MAIL_DE;

            mail.Fields["http://schemas.microsoft.com/cdo/configuration/sendpassword"] = PW_DE;

      }

 

Referência: 1.8

 

 

Veja que estou usando as variáveis da outra classe.

Pronto, agora já foram criadas as duas classes que precisava para enviar e-mail automaticamente.

 

Referência: 1.9

 

 

Vá para a classe Default.aspx e depois que o cadastro foi feito, dentro do bloco if instancie o método da classe de e-mail passando os parâmetros. Veja como ficará o mesmo abaixo.

 

 

 

 

protected void cmbGravar_Click(object sender, EventArgs e)

      {

            usuarioDAO dao = new usuarioDAO();

            usuarioDTO dto = new usuarioDTO();

 

            setValores(dto);

 

            if (dao.insereUsuarioDAO(dto))

            {

                  EnviaEmail sEmail = new EnviaEmail();

                  sEmail.enviarEmail(txtNome.Text, txtEmail.Text, "Obrigado pelo cadastro", "Cadastro realizado com sucesso ");

                  Response.Redirect("resultadoFinal.aspx");

            }

            else

            {

                  Response.Redirect("resultadoFinalErro.asp");

            }

      }

 

Referência: 1.10

 

As linhas que estão de amarelo é o que foi acrescentado.

Executando o código, irei fazer um cadastro e ver se o e-mail chegou.

 

Referência: 1.11

 

 

 

Referência: 1.12

 

Veja que chegou o e-mail em minha caixa postal.

 

 

 

 

 

 

Referência: 1.13

 

Espero que tenham gostado.

Meu nome é Mauricio Junior e estou à disposição para tirar dúvidas.

 

Mauricio Junior

mauricio@ascompras.com

 



Total de visualizações: 3968
voltar   comente  subir

Autor:


Por:Mauricio Junior
Maurício Júnior
Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 27 anos e possuo sete livros publicados pela editora Ciência Moderna no ano de 2009. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog:  blog.mauriciojunior.orgSite pessoal  www.mauriciojunior.org


Comentários:

Comentado por: Edilson - 1/2/2007 11:18:19
Eu preciso usar o método "getAutenticacao" em uma intranet? Na verdade, como funciona esse método? Grato.
Comentado por: Allan - 8/11/2007 17:06:12
No artigo anterior havia informado que disponibilizaria o link para download.

Ainda ira postar?

Obrigado

Comente (dê sua opinião): VOCÊ PRECISA ESTAR LOGADO

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Armazenando dados no ViewState – Parte I
Resource e Internacionalização – Parte V Usando Visual Studio.NET 2005
Ebook: Aprendendo Desenvolver WebServices
IsData
Vídeo: Série Atlas.NET - Parte II
Seria o novo Windows Mobile 7 ?
Criando Alias no Pacote
Criando Números Aleatoriamente
Padrão de Codificação
Desenvolvendo Sistema para Celular
Microsoft abre sua loja de aplicativos para desenvolvedores de software mobile
Ajax com C#.NET (parte 1)
Vídeo - Microsoft Surface: The Power
Vídeo Sobre Atributes e String Builder com Visual Studio .NET 2005
Conecte - novidades tecnológicas revolucionam a medicina
Microsoft lança seu próprio QRCode
WebServices usando soapHeader
Site fora do ar - Pedido de desculpas
Vídeo - Microsoft Surface Sphere
Como fazer uma enquete - parte 2
Vírus - Full video Pamela Anderson
Concurso Office
Nem tudo é o que parece!
Sistema de Login em ASP – Parte IX
TreeView usando Banco de Dados
Torne-se Autor de Artigos
Visual Studio 2010 Beta 2
Visual SourceSafe – Série 6
Sistema de Login em ASP – Parte II
Desenvolvendo com Atributos (Javascript) e StringBuilder
Promoção Assinatura Grátis DevMedia e ASPNETi.COM
Organizando o projeto em camada
Linguagem de programação: Nunca faça isso - C#.NET
Sistema iGas - Controle de Gasolina
WebService utilizando soapHeader e token

Publicidade:

[sumir] [aparecer]
NETITC




Informaes Online:

Usurios Online: 479
Artigos:  662
Vdeos:  47
PodCast's:  31
Frum:  3098
Empregos:  1226
Usurios Cadastrados: 5786

Categoria de Artigos

Vdeos

Enquete - D sua opinio

 Os podcasts tem sido proveitoso pra você?

 

Colaboradores

Foto Autor autor: Mauricio Junior   
publicou 381 artigo(s).
Foto Autor autor: Júlio Battisti   
publicou 51 artigo(s).
Foto Autor autor: Fabio Galante Mans   
publicou 28 artigo(s).
Foto Autor autor: Kleber Becerra   
publicou 10 artigo(s).
Foto Autor autor: Ramon Durães   
publicou 6 artigo(s).
Foto Autor autor: Ebenézer de Souza   
publicou 5 artigo(s).
Foto Autor autor: Fabio Aguiar   
publicou 4 artigo(s).
NETITC