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); }
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); }
/*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; } }
/*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; } }
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); } }