示例#1
0
        public static bool EnviarMail(List <String> to, List <String> cc, List <String> co, string subject, String body, ISMTPConfig config)
        {
            try
            {
                #region Creación de Mensaje Mail

                var msg = new MimeMessage();
                msg.From.Add(new MailboxAddress(config.NombreFrom, config.EMailFrom));

                if (to != null)
                {
                    foreach (var item in to)
                    {
                        msg.To.Add(new MailboxAddress(item, item));
                    }
                }

                if (cc != null)
                {
                    foreach (var item in cc)
                    {
                        msg.Cc.Add(new MailboxAddress(item, item));
                    }
                }

                if (co != null)
                {
                    foreach (var item in co)
                    {
                        msg.Bcc.Add(new MailboxAddress(item, item));
                    }
                }

                msg.Subject = subject;
                msg.Body    = new TextPart("html")
                {
                    Text = body
                };

                #endregion

                #region Creación de Cliente SMTP y Envío

                using (var client = new SmtpClient(new ProtocolLogger("smtp.log")))
                {
                    client.Connect(config.Host, config.Port, SecureSocketOptions.SslOnConnect);

                    client.Authenticate(config.EMailFrom, config.Pass);

                    client.Send(msg);

                    client.Disconnect(true);
                }

                #endregion
            }
            catch (Exception ex)
            {
                var a = ex; //The handshake failed due to an unexpected packet format.
                return(false);
            }

            return(true);
        }
示例#2
0
 public static bool EnviarMail(List <String> to, string subject, String body, ISMTPConfig config)
 {
     return(EnviarMail(to, null, null, subject, body, config));
 }
示例#3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="to"></param>
        /// <param name="cc"></param>
        /// <param name="co"></param>
        /// <param name="subject"></param>
        /// <param name="body"></param>
        /// <param name="config"></param>
        /// <returns></returns>
        public static bool Send(List <String> to, List <String> cc, List <String> co, string subject, String body, ISMTPConfig config)
        {
            #region Creación de Mensaje Mail
            MailMessage msg = new MailMessage
            {
                From         = new MailAddress(config.EmailFrom),
                IsBodyHtml   = true,
                Subject      = subject,
                Body         = body,
                Priority     = MailPriority.Normal,
                BodyEncoding = System.Text.Encoding.UTF8
            };

            var _to = msg.To;
            if (to != null)
            {
                foreach (var item in to)
                {
                    _to.Add(new MailAddress(item));
                }
            }

            var _cc = msg.CC;
            if (cc != null)
            {
                foreach (var item in cc)
                {
                    _cc.Add(new MailAddress(item));
                }
            }

            var _co = msg.Bcc;
            if (co != null)
            {
                foreach (var item in co)
                {
                    _co.Add(new MailAddress(item));
                }
            }
            #endregion

            #region Creación de Cliente SMTP
            var client = new SmtpClient
            {
                Host      = config.SmtpServer,
                Port      = config.SmtpPort,
                EnableSsl = config.UseSSL
            };

            if (config.SmtpUser != null && config.SmtpPass != null)
            {
                client.Credentials = new NetworkCredential(config.SmtpUser, config.SmtpPass);
            }
            #endregion

            #region Envío de Mail
            return(Send(msg, client));

            #endregion
        }
示例#4
0
 public void IniciarTest()
 {
     configEmail = new ConfigEmail();
 }
示例#5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="to"></param>
 /// <param name="subject"></param>
 /// <param name="body"></param>
 /// <param name="config"></param>
 /// <returns></returns>
 public static bool Send(List <String> to, string subject, String body, ISMTPConfig config)
 {
     return(Send(to, null, null, subject, body, config));
 }