예제 #1
0
        private static void _Enviar(object parametros)
        {
            Config.Email config  = ((Parametros)parametros).config;
            MailMessage  mail    = ((Parametros)parametros).email;
            SmtpClient   cliente = Cliente(config);

            try
            {
                using (mail)
                {
                    cliente.Send(mail);
                }
            }
            catch (SmtpFailedRecipientException ex)
            {
                throw ex;
            }
            catch (SmtpException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #2
0
        public Email(Config.Email config, List <MailAddress> para, List <MailAddress> cc, List <MailAddress> cco, string assunto, string body, bool HTML = true)
        {
            this.config = config;

            if (para.Count > 0 || cc.Count > 0 || cco.Count > 0)
            {
                idEmail = Guid.NewGuid();

                body += string.Format("\r\n\r\nChave de Identificação do E-mail: {0}", idEmail.ToString());

                if (HTML)
                {
                    body = body.Replace("\n", "<br/>");
                }

                mail.From = config.From;
                mail.To.AddRange(para);
                mail.CC.AddRange(cc);
                mail.Bcc.AddRange(cco);
                mail.ReplyToList.Add(config.ReplyTo);
                mail.Subject    = assunto;
                mail.Body       = body;
                mail.IsBodyHtml = HTML;
            }
            else
            {
                throw new Exception("Nenhum destinatário para envio do e-mail!");
            }
        }
예제 #3
0
        private static void Enviar(MailMessage mail, Config.Email config)
        {
            Parametros param = new Parametros()
            {
                email  = mail,
                config = config
            };

            new Thread(new ParameterizedThreadStart(_Enviar)).Start(param);
        }
예제 #4
0
        /// <summary>
        /// Log de Erro! (Usar este construtor apenas para erro!)
        /// </summary>
        /// <param name="erro">Erro em texto.</param>
        public static void SendEmailErroLog(string erro, Config.Email config, string assunto = "Erro no Sistema!")
        {
            MailMessage mail = new MailMessage();

            mail.From = config.From;
            mail.To.Add(config.EmailSuporte);
            mail.Subject    = assunto;
            mail.Body       = erro;
            mail.IsBodyHtml = false;
            Enviar(mail, config);
        }
예제 #5
0
        private Config.Email config;// = new Config.Email("", "", "", "", "", "", "", "", 0, false);

        private static SmtpClient Cliente(Config.Email config)
        {
            SmtpClient clienteSMTP = new SmtpClient(config.Host, config.Port);

            clienteSMTP.DeliveryMethod        = SmtpDeliveryMethod.Network;
            clienteSMTP.EnableSsl             = config.Ssl;
            clienteSMTP.UseDefaultCredentials = false;
            clienteSMTP.Credentials           = new NetworkCredential(config.User, config.Pass);

            return(clienteSMTP);
        }