Exemplo n.º 1
0
        private CORREO_CONFIGURACION_MODELO SALTO(string CONTRASENA)
        {
            int NUMERO = Convert.ToInt32(CONTRASENA.Length);

            byte[] SALT        = GENERAR_SALTO(NUMERO);
            byte[] TEXTO_SALTO = COMPUTAR_HASH(CONTRASENA, SALT);
            CORREO_CONFIGURACION_MODELO CORREO_CODIFICACION = new CORREO_CONFIGURACION_MODELO();

            CORREO_CODIFICACION.SALT        = SALT;
            CORREO_CODIFICACION.TEXTO_SALTO = TEXTO_SALTO;
            return(CORREO_CODIFICACION);
        }
Exemplo n.º 2
0
        public void ENVIO_CORREO(CORREO_CONFIGURACION_MODELO _DATOS)
        {
            string       DATOS_HTML  = string.Empty;
            StreamReader lecturaHtml = new StreamReader(HttpContext.Current.Server.MapPath("~/Views/templates/mailing.cshtml"));  /*MAPEA EL HTML DE LA VISTA*/

            //string SERVIDOR = "smtp.10.100.1.16";
            //string CUENTA_CORREO = "*****@*****.**";
            //string CONTRASENA = "";


            DATOS_HTML = lecturaHtml.ReadToEnd();

            MailMessage mail = new MailMessage();    //INSTANCIA LA CLASE NATIVAS DE VISUAL PARA CORREO

            var Nombre = "si prueba";

            //DATOS_HTML.Replace("Name", Nombre);
            DATOS_HTML = DATOS_HTML.Replace("{Name}", Nombre);
            // body = reader.ReadToEnd();
            //body.Replace("[Name]", name);
            //body.Replace("[url]", url);

            //SmtpClient SmtpServer = new SmtpClient("smtp.office365.com");//SERVIDOR
            // mail.From = new MailAddress("*****@*****.**");//MI CORREO ELECTRONICO

            SmtpClient SmtpServer = new SmtpClient("10.100.1.16");     //SERVIDOR

            mail.From = new MailAddress("*****@*****.**"); //MI CORREO ELECTRONICO
            mail.To.Add(_DATOS.DESTINO);
            mail.Subject    = _DATOS.ASUNTO;
            mail.Body       = DATOS_HTML;// lecturaHtml.ReadToEnd(); // model.Mesnsaje;
            mail.IsBodyHtml = true;

            ////CODIGO PARA ENVIAR ARCHIVOS CORTOS/////
            //System.Net.Mail.Attachment attachment;
            ////attachment = new System.Net.Mail.Attachment("c:/textfile.txt");//NOMBRE DEL ARCHIVO A ENVIAR
            //attachment = new System.Net.Mail.Attachment("\\\\cesgripro\\ARCHIVOS_H_G\\544584_1.jpg");// RUTA PARA EL ARCHIVO
            //mail.Attachments.Add(attachment);
            //// FIN CODIGO PARA ENVIAR ARCHIVOS CORTOS/////

            SmtpServer.Port        = 25;                                                                 //PUERTO
            SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", ""); //CREDENCIALES


            // SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**","Tecno2019+");//CREDENCIALES


            SmtpServer.EnableSsl = false;
            // SmtpServer.UseDefaultCredentials = false;
            SmtpServer.Send(mail);
        }
Exemplo n.º 3
0
        /*insertar un nuevo registro*/
        public void CREA_CORREO()
        {
            try
            {
                string INFO = ("Iniciando Método CREA_CORREO  ");
                log.Info("CODIGO : LGCO7, " + INFO);
                Thread HILO = new Thread(() => TRAZA.DEPURAR_TRAZA("LGCO7", log.Logger.Name, "CREA_CORREO", INFO));
                HILO.Start();

                string _USUARIO      = "SYSTEM";
                string SERVIDOR      = "10.100.1.16";
                string CUENTA_CORREO = "*****@*****.**";
                string CONTRASENA    = " ";

                CORREO_CONFIGURACION_MODELO _CODIFICACION_CORREO = SALTO(CONTRASENA);
                ENCRIPTAR_MODELO            _ENCRIPTAR           = ENCRIPTAR(_CODIFICACION_CORREO.TEXTO_SALTO);

                CORREOS CORREO = new CORREOS();
                CORREO.COD_CORREO      = 0;
                CORREO.COD_TIPO_CORREO = 1;
                CORREO.SERVIDOR_SMTP   = SERVIDOR;
                CORREO.CUENTA_CORREO   = CUENTA_CORREO;
                CORREO.CUENTA          = CUENTA_CORREO;
                CORREO.SALTO           = Convert.ToBase64String(_CODIFICACION_CORREO.SALT);
                CORREO.IV                   = _ENCRIPTAR.IV_TEXTO;
                CORREO.CONTRASENA           = _ENCRIPTAR.ENCRIPTACION_TEXTO;
                CORREO.ES_HTML              = true;
                CORREO.USA_SSL              = true;
                CORREO.ESTADO               = 1;
                CORREO.COD_USUARIO_CREA     = _USUARIO;
                CORREO.FECHA_CREA           = DateTime.Now;
                CORREO.COD_USUARIO_MODIFICA = _USUARIO;
                CORREO.FECHA_MODIFICA       = DateTime.Now;

                _REPOSITORIO.CREAR_CORREO(CORREO);
                _REPOSITORIO.GUARDAR();
            }
            catch (Exception ex)
            {
                log.ErrorFormat("CODIGO : LGCO7,  CONSULTAR DESTINO CORREO POR COD_CORREO en la linea :  {0}  ", ex.StackTrace);
                ex.HelpLink = (ex.HelpLink == "" || ex.HelpLink == null ? "LGCO7" : ex.HelpLink);
                Thread HILO = new Thread(() => ERROR.ERROR_TRAZA(ex.HelpLink, log.Logger.Name, ex.TargetSite.Name, ex.StackTrace));
                HILO.Start();

                throw ex;
            }
        }
Exemplo n.º 4
0
        /*METODO PARA ENVIAR CORREO*/
        public void ENVIO_CORREO(CORREO_CONFIGURACION_MODELO _DATO_CORREO)
        {
            try
            {
                string INFO = ("Iniciando Método ENVIO_CORREO ");
                log.Info("CODIGO : LGCLC8," + INFO);

                Thread HILO = new Thread(() => TRAZA.DEPURAR_TRAZA("LGCLC8", log.Logger.Name, "ENVIO_CORREO", INFO));
                HILO.Start();


                string CORREO_DESTINO = string.Empty;
                foreach (CORREOS_DESTINOS_MODELO DESTINOS in _DATO_CORREO.DESTINOS)
                {
                    CORREO_DESTINO = CORREO_DESTINO + DESTINOS.CORREO + ",";
                }
                CORREO_DESTINO = CORREO_DESTINO.Substring(0, (CORREO_DESTINO.Length) - 1);


                string DATOS_HTML = string.Empty;

                foreach (PLANTILLAS_CORREOS_MODELO PLANTILLA in _DATO_CORREO.PLANTILLAS)
                {
                    DATOS_HTML = PLANTILLA.PLANTILLA;
                }


                /*para cambiar en la plantilla dinamicamente*/

                string      FECHA;
                CultureInfo myCIintl = new CultureInfo("es-ES", true);
                if (_DATO_CORREO.RETIRO.FECHA_RETIRO < DateTime.Now)
                {
                    FECHA = DateTime.Now.ToString("dd 'de' MMMM 'de' yyyy", myCIintl.DateTimeFormat);
                }
                else
                {
                    FECHA = _DATO_CORREO.RETIRO.FECHA_RETIRO.AddDays(2).ToString("dd 'de' MMMM 'de' yyyy", myCIintl.DateTimeFormat);
                }

                DATOS_HTML = DATOS_HTML.Replace("{SOCIEDAD}", (_DATO_CORREO.SOCIEDAD != null ? _DATO_CORREO.SOCIEDAD : ""));
                DATOS_HTML = DATOS_HTML.Replace("{CEDULA}", _DATO_CORREO.RETIRO.NUMERO_DOCUMENTO);
                DATOS_HTML = DATOS_HTML.Replace("{NOMBRES_APELLIDOS}", _DATO_CORREO.RETIRO.NOMBRE);
                DATOS_HTML = DATOS_HTML.Replace("{FECHA_RETIRO}", _DATO_CORREO.RETIRO.FECHA_RETIRO.ToString("dd/MM/yyyy"));
                DATOS_HTML = DATOS_HTML.Replace("{FECHA_RETIRO_CARTA}", FECHA);
                DATOS_HTML = DATOS_HTML.Replace("{MOTIVO_RETIRO}", _DATO_CORREO.RETIRO.NOMBRE_CAUSA_RETIRO);
                DATOS_HTML = DATOS_HTML.Replace("{CENTRO_COSTOS}", (_DATO_CORREO.CENTRO_COSTO != null ? _DATO_CORREO.CENTRO_COSTO : ""));
                DATOS_HTML = DATOS_HTML.Replace("{NOMBRE_JEFE}", (_DATO_CORREO.NOMBRE_JEFE != null ? _DATO_CORREO.NOMBRE_JEFE : ""));
                DATOS_HTML = DATOS_HTML.Replace("{GENERA_VACANTE}", (_DATO_CORREO.RETIRO.GENERA_VACANTE == true ? "Si" : "No"));
                DATOS_HTML = DATOS_HTML.Replace("{CONCEPTO}", "");
                DATOS_HTML = DATOS_HTML.Replace("{VALOR}", "");


                MailMessage mail       = new MailMessage();
                SmtpClient  SmtpServer = new SmtpClient(_DATO_CORREO.SERVIDOR);
                mail.From = new MailAddress(_DATO_CORREO.CUENTA_CORREO);
                mail.Bcc.Add(CORREO_DESTINO);
                mail.Subject           = _DATO_CORREO.ASUNTO;
                mail.Body              = DATOS_HTML;                                                                            //
                mail.IsBodyHtml        = _DATO_CORREO.ES_HTML;
                SmtpServer.Port        = Convert.ToInt32(_DATO_CORREO.PUERTO);                                                  //  587; definir traer desde base de datos
                SmtpServer.Credentials = new System.Net.NetworkCredential(_DATO_CORREO.CUENTA_CORREO, _DATO_CORREO.CONTRASENA); //CREDENCIALES
                                                                                                                                // SmtpServer.EnableSsl = true;
                SmtpServer.EnableSsl = _DATO_CORREO.USA_SSL;
                SmtpServer.Send(mail);
            }
            catch (Exception ex)
            {
                log.ErrorFormat("CODIGO : LGCLC8  recuperando ENVIO_CORREO en la linea : {0}", ex.StackTrace);
                ex.HelpLink = (ex.HelpLink == "" || ex.HelpLink == null ? "LGCLC8" : ex.HelpLink);
                Thread HILO = new Thread(() => ERROR.ERROR_TRAZA(ex.HelpLink, log.Logger.Name, ex.TargetSite.Name, ex.StackTrace));
                HILO.Start();

                throw ex;
            }
        }
Exemplo n.º 5
0
        public bool NOTIFICAR(decimal _COD_RETIRO)
        {
            try
            {
                string INFO = ("Iniciando Método NOTIFICAR por _COD_RETIRO : " + _COD_RETIRO);
                log.Info("CODIGO : LGNT1," + INFO);

                Thread HILO = new Thread(() => TRAZA.DEPURAR_TRAZA("LGNT1", log.Logger.Name, "NOTIFICAR", INFO));
                HILO.Start();



                decimal _COD_CORREO = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["CodigoCorreoRemitente"]);
                //  decimal _COD_CORREO = 1;

                MODELO_DATOS.RETIROS RETIRO_DATOS = RETIRO_LOGICA.CONSULTAR(Convert.ToInt32(_COD_RETIRO));
                RETIRO_MODELO        RETIRO_LOGIA = new RETIRO_MODELO
                {
                    NOMBRE              = RETIRO_DATOS.NOMBRE,
                    NUMERO_DOCUMENTO    = RETIRO_DATOS.NUMERO_DOCUMENTO,
                    USUARIO             = RETIRO_DATOS.USUARIO,
                    NOMBRE_CARGO        = RETIRO_DATOS.NOMBRE_CARGO,
                    COD_CARGO           = RETIRO_DATOS.COD_CARGO,
                    NOMBRE_CAUSA_RETIRO = RETIRO_DATOS.NOMBRE_CAUSA_RETIRO,
                    FECHA_RETIRO        = RETIRO_DATOS.FECHA_RETIRO,
                    GENERA_VACANTE      = RETIRO_DATOS.GENERA_VACANTE
                };


                MODELO_DATOS.CORREOS DATOS_CORREO = CORREO.CONSULTAR(_COD_CORREO);

                /*DESENCRIPTAR*/
                byte[] IV_TEXTO          = Convert.FromBase64String(DATOS_CORREO.IV);
                string TEXTO_SALTO       = CORREO.DESENCRIPTAR(IV_TEXTO, DATOS_CORREO.CONTRASENA);
                byte[] SALT              = Convert.FromBase64String(DATOS_CORREO.SALTO);
                string CONTRASENA_CORREO = CORREO.QUITAR_SALTO(TEXTO_SALTO, SALT.Length);
                /*FIN  DESENCRIPTAR*/

                // decimal _COD_CORREO1 = 1;
                List <MODELO_DATOS.CORREOS_DESTINOS> DESTINO_LISTA_DATOS = CORREO.CONSULTAR_DESTINO(_COD_CORREO).ToList();
                List <CORREOS_DESTINOS_MODELO>       DESTINO_LISTA       = new List <CORREOS_DESTINOS_MODELO>();

                foreach (MODELO_DATOS.CORREOS_DESTINOS TIPO in DESTINO_LISTA_DATOS)
                {
                    DESTINO_LISTA.Add(
                        new CORREOS_DESTINOS_MODELO
                    {
                        CORREO             = TIPO.CORREO,
                        ESTADO             = TIPO.ESTADO,
                        COD_COREEO_DESTINO = TIPO.COD_CORREO_DESTINO
                    }
                        );
                }


                List <MODELO_DATOS.PLANTILLAS_CORREOS> PLANTILLA_LISTA_DATOS = CORREO.CONSULTAR_PLANTILLA(_COD_CORREO).ToList();
                List <PLANTILLAS_CORREOS_MODELO>       PLANTILLA_LISTA       = new List <PLANTILLAS_CORREOS_MODELO>();

                foreach (MODELO_DATOS.PLANTILLAS_CORREOS TIPO in PLANTILLA_LISTA_DATOS)
                {
                    PLANTILLA_LISTA.Add(
                        new PLANTILLAS_CORREOS_MODELO
                    {
                        COD_PLANTILLA = TIPO.COD_PLANTILLA,
                        PLANTILLA     = TIPO.PLANTILLA,
                        ESTADO        = TIPO.ESTADO
                    }
                        );
                }

                List <EMPLEADO_MODELO> EMPLEADO = EMPLEADO_METODO.CONSULTA_EMPLEADO_VALOR_BUSCADO(RETIRO_DATOS.NUMERO_DOCUMENTO);
                /*captura la informacion necesaria para consumir el metodo de correo AsQueryable().FirstOrDefault()*/
                CORREO_CONFIGURACION_MODELO CORREO_LOGICA = new CORREO_CONFIGURACION_MODELO
                {
                    SERVIDOR      = DATOS_CORREO.SERVIDOR_SMTP,
                    CUENTA_CORREO = DATOS_CORREO.CUENTA_CORREO,
                    CONTRASENA    = CONTRASENA_CORREO,
                    RETIRO        = RETIRO_LOGIA,
                    DESTINOS      = DESTINO_LISTA,
                    PLANTILLAS    = PLANTILLA_LISTA,
                    PUERTO        = DATOS_CORREO.PUERTO,
                    ASUNTO        = DATOS_CORREO.ASUNTO,
                    USA_SSL       = DATOS_CORREO.USA_SSL,
                    ES_HTML       = DATOS_CORREO.ES_HTML,
                    ESTADO        = DATOS_CORREO.ESTADO,
                    SOCIEDAD      = EMPLEADO.AsQueryable().FirstOrDefault().SOCIEDAD,
                    CENTRO_COSTO  = EMPLEADO.AsQueryable().FirstOrDefault().CENTRO_COSTO,
                    NOMBRE_JEFE   = EMPLEADO.AsQueryable().FirstOrDefault().NOMBRE_JEFE
                };


                CORREO.ENVIO_CORREO(CORREO_LOGICA);

                return(true);
            }
            catch (Exception ex)
            {
                log.ErrorFormat("CODIGO : LGNT1,  Método NOTIFICAR con el COD_RETIRO : {0}, {1} ", _COD_RETIRO, ex.StackTrace);
                ex.HelpLink = (ex.HelpLink == "" || ex.HelpLink == null ? "LGNT1" : ex.HelpLink);
                Thread HILO = new Thread(() => ERROR.ERROR_TRAZA(ex.HelpLink, log.Logger.Name, ex.TargetSite.Name, ex.StackTrace));
                HILO.Start();

                return(false);
            }
        }