🔥 Articles, eBooks, Jobs, Columnist, Forum, Podcasts, Courses 🎓

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


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

Descrição do artigo publicado no aspneti.com, cada artigo com seu resumo

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

 

Subscribe ecode10.com

Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.
You can cancel anytime.

Log In








Top