Páginas

domingo, 24 de outubro de 2010

Email SSL


Olá! Vou mostrar aqui como enviar e-mails de forma segura utilizando o protocolo SSL com acesso a banco de dados. Uma aplicaçãozinha simples de envio de e-mail que poderá ser personalizada para suas necessidades.

Secure Sockets Layer (SSL) é uma implementação popular da criptografia de chave-pública. É um protocolo de segurança utilizado por navegadores de Internet e servidores web para transmitir informações sigilosas.

Para a sua aplicação enviar e-mail SSL, o servidor tem que estar configurado para isso. Mas para os estudos utilizaremos o Gmail que utiliza o protocolo SSL para o envio de e-mails. As configurações do SMTP do Gmail estão disponíveis no endereço:



    <mailSettings>
      <smtp from="emaildaaplicacao@servidor.com.br">
        <network host="smtp.gmail.com" port="587" userName="****" password="****"/>
      </smtp>
    </mailSettings>


  <appSettings>
    <add key="emailfrom" value="danielle.santana@gmail.com"/>
  </appSettings>






public class Email
    {

        public static bool EnviarEmail(string destinatario, string msg)
        {
            //Instanciar as classes que usaremos para enviar o e-mail SSL
            //================================
           
            //Instanciação dos objetos de Endereços de e-mail
            MailAddress mailAdressTo = new MailAddress(destinatario);
            MailAddress mailAdressFrom = new MailAddress(ConfigurationManager.AppSettings["emailfrom"]);

            //instanciamos a mensagem
            MailMessage mail = new MailMessage(mailAdressFrom, mailAdressTo);
           
            //Instanciaremos a classe SmtpClient que nos permitirá enviar e-mail via protocolo SMTP com o SSL habilitado
            SmtpClient smtpClient = new SmtpClient();
           

            //Preenchendo o objeto mail
            mail.Subject = "Configurando E-mail SSL";
            mail.Body = msg;
           
            //Configurando o objeto cliente SMTP
            //==================================

            //Habilitando o SSL (AQUI É O PULO DO GATO)
            smtpClient.EnableSsl = true;
           
            try
            {
                smtpClient.Send(mail);
                return true;
            }
            catch (Exception)
            {
                return false;
                throw ;
            }
        }
    }

Chamada da função de envio de e-mail

protected void btnEnviar_Click(object sender, EventArgs e)
        {
            // a função de envio de e-mail retornará um boolean indicando se o e-mail foi enviado ou não
            if (Email.EnviarEmail(txtEmail.Text, txtMensagem.Text))
            {
                lblStatus.Text = "E-mail enviado com sucesso.";
            }
            else
            {
                lblStatus.Text = "Problemas no envio do E-mail.";
            }
        }


Tela da aplicação

Nenhum comentário:

Postar um comentário