/// <summary>
        /// DATOS DE CORREO
        /// </summary>
        /// <param name="INFO_SERVICIO"></param>
        /// <returns></returns>
        private static SmtpClient CLIENTE_SMTP(XML_CONFIGURACIONES_EMAIL INFO_SERVICIO)
        {
            //===========================================================
            // DECLARACION DE VARIABLES
            //===========================================================
            SmtpClient CLIENTE = new SmtpClient();

            CLIENTE.Timeout = 10000;

            //===========================================================
            // CONFIGURACION DE CORREO
            //===========================================================
            CLIENTE.Host           = INFO_SERVICIO.HOST;
            CLIENTE.Port           = Convert.ToInt32(INFO_SERVICIO.PUERTO);
            CLIENTE.DeliveryMethod = SmtpDeliveryMethod.Network;

            if (INFO_SERVICIO.USA_CREDENCIALES == "1")
            {
                CLIENTE.UseDefaultCredentials = true;
                CLIENTE.Credentials           = new NetworkCredential(INFO_SERVICIO.USUARIO, INFO_SERVICIO.PASSWORD);
            }
            else
            {
                CLIENTE.UseDefaultCredentials = false;
            }

            if (INFO_SERVICIO.USA_SSL == "1")
            {
                CLIENTE.EnableSsl = true;
            }
            else
            {
                CLIENTE.EnableSsl = false;
            }



            return(CLIENTE);
        }
        /// <summary>
        /// ENVIO DE CORREO ELECTRONICO
        /// </summary>
        /// <param name="ASUNTO"></param>
        /// <param name="DISPLAYNAME"></param>
        /// <param name="LISTA_DISTRIBUCION"></param>
        /// <param name="HTML_VIEW"></param>
        /// <param name="CONFIGURACION"></param>
        /// <returns></returns>
        public static bool ENVIA_CORREO_ELECTRONICO(string ASUNTO
                                                    , string DISPLAYNAME
                                                    , string LISTA_DISTRIBUCION
                                                    , AlternateView HTML_VIEW
                                                    , XML_CONFIGURACIONES_EMAIL CONFIGURACION)
        {
            //===========================================================
            // CONFIGURACION DE CORREO ELECTRONICO
            //===========================================================
            SmtpClient CLI_SMTP = CLIENTE_SMTP(CONFIGURACION);



            //===========================================================
            // CORREO FROM
            //===========================================================
            MailMessage msg = new MailMessage();

            msg.From = new MailAddress(CONFIGURACION.CORREO_FROM, DISPLAYNAME);


            //===========================================================
            // CONTENIDO XSLT
            //===========================================================
            msg.AlternateViews.Add(HTML_VIEW);

            //===========================================================
            // LISTA DE DISTRIBUCION
            //===========================================================
            string[] Correos = LISTA_DISTRIBUCION.Split(';');

            foreach (string s in Correos)
            {
                if (s.Length > 6)
                {
                    msg.To.Add(new MailAddress(s.ToString().Trim()));
                }
            }



            msg.IsBodyHtml = true;
            msg.Subject    = ASUNTO;



            try
            {
                CLI_SMTP.Send(msg);
                CLI_SMTP = null;
                msg.Dispose();
                msg = null;
                return(true);
            }
            catch
            {
                CLI_SMTP = null;
                msg.Dispose();
                msg = null;
                throw;
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// CONFIGURACIONES DE CORREO
        /// </summary>
        /// <param name="Archivo"></param>
        /// <returns></returns>
        public static XML_CONFIGURACIONES_EMAIL CONFIG_APP_EMAIL(string Archivo)
        {
            try
            {
                //============================================================
                // ARCHIVO DE ORIGEN DE CONFIGURACIONES VERIFICAR
                //============================================================
                if (System.IO.File.Exists(Archivo) == false)
                {
                    throw new Exception("NO EXISTE ARCHIVO DE CONFIGURACION :" + Archivo);
                }

                //============================================================
                // LECTURA DE ARCHIVO
                //============================================================
                XDocument DOCUMENTO_XML = XDocument.Load(Archivo);


                var definitions = DOCUMENTO_XML.Descendants("add")
                                  .Select(x => new
                {
                    key   = x.Attribute("key").Value,
                    value = x.Attribute("value").Value
                });

                XML_CONFIGURACIONES_EMAIL Configuraciones = new XML_CONFIGURACIONES_EMAIL();


                foreach (var def in definitions)
                {
                    switch (def.key)
                    {
                    case "HOST":
                        Configuraciones.HOST = def.value;
                        break;

                    case "PUERTO":
                        Configuraciones.PUERTO = def.value;
                        break;

                    case "CORREO_FROM":
                        Configuraciones.CORREO_FROM = def.value;
                        break;

                    case "USA_CREDENCIALES":
                        Configuraciones.USA_CREDENCIALES = def.value;
                        break;

                    case "USA_SSL":
                        Configuraciones.USA_SSL = def.value;
                        break;

                    case "USUARIO":
                        Configuraciones.USUARIO = def.value;
                        break;

                    case "PASSWORD":
                        Configuraciones.PASSWORD = def.value;
                        break;

                    default:
                        break;
                    }
                }



                return(Configuraciones);
            }
            catch
            {
                throw;
            }
        }