quarta-feira, 21 de julho de 2010

Enviando Email

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Net;
using System.Net.Mail;

///
/// Summary description for EnviaEmail
///

namespace EnvioEmail
{
    public class EnviaEmail
    {
        #region valores padrões
        private string host = "smtp.gmail.com";
        private int porta = 587;
        private bool SSL = true;
        //
        private string nomeRemetente = "Nome do Remetente";
        private string emailRemetente = "email@remetente.com";
        private string nomeDestinatario = "Nome do Destinatário";
        private string emailDestinatario = "email@destinatario.com.br";
        //
        private bool isHTML = false;
        private string conteudo = "";
        private string assunto = "";
        //
        private string emailCredenciado = "teste@dominio.com";
        private string senhaCredenciada = "senha";
        #endregion

        #region métodos set para alteração dos valores padrões
        public void setHost(string host) { this.host = host; }
        public void setPorta(int porta) { this.porta = porta; }
        public void setSSL(bool SSL) { this.SSL = SSL; }
        public void setNomeRemetente(string nome) { this.nomeRemetente = nome; }
        public void setEmailRemetente(string email) { this.emailRemetente = email; }
        public void setNomeDestinatario(string nome) { this.nomeDestinatario = nome; }
        public void setEmailDestinatario(string email) { this.emailDestinatario = email; }
        public void setIsHTML(bool HTML) { this.isHTML = HTML; }
        public void setConteudo(string conteudo) { this.conteudo = conteudo; }
        public void setAssunto(string assunto) { this.assunto = assunto; }
        public void setEmailCrendeciado(string email) { this.emailCredenciado = email; }
        public void setSenhaCredenciada(string senha) { this.senhaCredenciada = senha; }
        #endregion

        public EnviaEmail()
        {
            //
            // TODO: Add constructor logic here
            //
        }

        public bool enviar()
        {
            // Enviar o email
            bool enviado = false;
            try
            {
                SmtpClient cliente = new SmtpClient(this.host, this.porta);
                cliente.EnableSsl = this.SSL; ;

                MailAddress remetente = new MailAddress(this.emailRemetente, this.nomeRemetente);
                MailAddress destinatario = new MailAddress(this.emailDestinatario, this.nomeDestinatario);
                MailMessage mensagem = new MailMessage(remetente, destinatario);
                mensagem.IsBodyHtml = this.isHTML; // define se será em formato html, ou não
                mensagem.Body = this.conteudo;
                mensagem.Subject = this.assunto;

                NetworkCredential credenciais = new NetworkCredential(this.emailCredenciado, this.senhaCredenciada, "");
                cliente.Credentials = credenciais;
                //
                cliente.Send(mensagem);
                enviado = true;
            }
            catch { }

            return enviado;
        }

        public bool enviar2()
        {
            // Use esta, se a função acima não funcionar
            bool enviado = false;
            try
            {
                SmtpClient cliente = new SmtpClient(this.host);
                NetworkCredential credenciais = new NetworkCredential(this.emailCredenciado, this.senhaCredenciada);
                //
                cliente.EnableSsl = this.SSL; ;
                cliente.UseDefaultCredentials = false;
                cliente.Credentials = credenciais;
                //
                MailAddress remetente = new MailAddress(this.emailRemetente);
                MailAddress destinatario = new MailAddress(this.emailDestinatario);
                MailMessage mensagem = new MailMessage(remetente, destinatario);
                //
                mensagem.IsBodyHtml = this.isHTML; // define se será em formato html, ou não
                mensagem.Body = this.conteudo;
                mensagem.BodyEncoding = System.Text.Encoding.UTF8;
                mensagem.Subject = this.assunto;
                mensagem.SubjectEncoding = System.Text.Encoding.UTF8;                
                //
                cliente.Send(mensagem);
                enviado = true;
            }
            catch { }

            return enviado;
        }
    }
}

Sem comentários:

Enviar um comentário