public ActionResult Create([Bind(Include = "ID,HOST,PORT,SSL,MAIL,PASS")] Conmail conmail) { CONMAIL u = new CONMAIL(); u.ID = conmail.ID; u.HOST = conmail.HOST; u.PORT = conmail.PORT; u.SSL = conmail.SSL; u.MAIL = conmail.MAIL; u.PASS = conmail.PASS; u.ACTIVO = true; db.CONMAILs.Add(u); try { db.SaveChanges(); return(RedirectToAction("Index")); } catch { ViewBag.Error = "El usuario ya existe. Introduzca un ID de usuario diferente"; int pagina = 933; //ID EN BASE DE DATOS FnCommon.ObtenerConfPage(db, pagina, User.Identity.Name, this.ControllerContext.Controller); Conmail cONMAIL = new Conmail(); return(View(cONMAIL)); } }
public ActionResult Edit([Bind(Include = "ID,HOST,PORT,SSL,MAIL,PASS,ACTIVO")] CONMAIL cONMAIL) { if (Request.Form["ckb_ssl"] == "on") { cONMAIL.SSL = true; } else { cONMAIL.SSL = false; } if (Request.Form["ckb_activo"] == "on") { cONMAIL.ACTIVO = true; } else { cONMAIL.ACTIVO = false; } cONMAIL.ID = cONMAIL.ID; cONMAIL.HOST = cONMAIL.HOST; cONMAIL.PORT = cONMAIL.PORT; cONMAIL.MAIL = cONMAIL.MAIL; cONMAIL.PASS = cONMAIL.PASS; db.Entry(cONMAIL).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit(string ID) { int pagina = 924; //ID EN BASE DE DATOS FnCommon.ObtenerConfPage(db, pagina, User.Identity.Name, this.ControllerContext.Controller); CONMAIL cONMAIL = db.CONMAILs.Find(ID); return(View(cONMAIL)); }
public void enviaMailUsuario(string emailsto, int pass, string nombre, string paterno, string materno, string id) //MGC 09-10-2018 Envío de correos { string mailt = ConfigurationManager.AppSettings["mailt"]; string mtest = ConfigurationManager.AppSettings["mailtest"]; //B20180803 MGC Correos string mailTo = ""; if (mtest == "X") { mailTo = "*****@*****.**";// mailt; //B20180803 MGC Correos //MGC 08-10-2018.2 Obtener los datos para el correo } else { //mailTo = workflow.USUARIO.EMAIL;//MGC 09-10-2018 Envío de correos mailTo = emailsto;//MGC 09-10-2018 Envío de correos } CONMAIL conmail = db.CONMAILs.Find(mailt); if (conmail != null) { System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(conmail.MAIL, mailTo); SmtpClient client = new SmtpClient(); if (conmail.SSL) { client.Port = (int)conmail.PORT; client.EnableSsl = conmail.SSL; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential(conmail.MAIL, conmail.PASS); } else { client.UseDefaultCredentials = true; client.Credentials = new NetworkCredential(conmail.MAIL, conmail.PASS); } client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Host = conmail.HOST; mail.Subject = "Usuario Creado Portal Artha Capital"; mail.IsBodyHtml = true; //string cuerpo = string.Format("Estimado: {1} {2} {3}: {0}Las credenciales para utilizar el portal son las siguientes:{0}Usuario: {4}{0}Contraseña: {5}", Environment.NewLine, nombre,paterno, materno,id,pass); string cuerpo = "Estimado: " + nombre + " " + paterno + " " + materno + " \r\n Las credenciales para utilizar el portal son las siguientes:\r\nUsuario: " + id + "\r\nContraseña:" + pass + ""; //mail.Body = result;//B20180803 MGC Correos var image = System.Web.HttpContext.Current.Server.MapPath("~/images/artha_logo.jpg"); mail.AlternateViews.Add(Mail_Body_Usuario(image, cuerpo)); //B20180803 MGC Correos mail.IsBodyHtml = true; //B20180803 MGC Correos client.Send(mail); } }
public ActionResult Delete(string ID) { CONMAIL cONMAIL = db.CONMAILs.Find(ID); cONMAIL.ID = cONMAIL.ID; cONMAIL.HOST = cONMAIL.HOST; cONMAIL.PORT = cONMAIL.PORT; cONMAIL.SSL = cONMAIL.SSL; cONMAIL.MAIL = cONMAIL.MAIL; cONMAIL.PASS = cONMAIL.PASS; cONMAIL.ACTIVO = false; db.Entry(cONMAIL).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); }
public void enviarErrores(List <string> mensajes) { TAT001Entities db = new TAT001Entities(); APPSETTING mailC = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mail") & x.ACTIVO).FirstOrDefault(); if (mailC == null) { Console.Write("Falta configuración!"); } //RSG 30.07.2018 string mailt = mailC.VALUE; //RSG 30.07.2018 CONMAIL conmail = db.CONMAILs.Find(mailt); if (conmail != null) { APPSETTING mailAC = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mailAdmin") & x.ACTIVO).FirstOrDefault(); MailMessage mail = new MailMessage(conmail.MAIL, mailAC.VALUE); SmtpClient client = new SmtpClient(); if (conmail.SSL) { client.Port = (int)conmail.PORT; client.EnableSsl = conmail.SSL; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential(conmail.MAIL, conmail.PASS); } else { client.UseDefaultCredentials = true; client.Credentials = new NetworkCredential(conmail.MAIL, conmail.PASS); } client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Host = conmail.HOST; try { mail.IsBodyHtml = true; foreach (string mensaje in mensajes) { mail.Body += "<br><span>" + mensaje + "</span>"; } mail.Subject = "Error programa Negociaciones- " + DateTime.Now.ToString(); client.Send(mail); } catch (Exception ex) { throw new Exception("No se ha podido enviar el email", ex.InnerException); } } }
public void correos2() { ImapClient ic = new ImapClient(); List <AE.Net.Mail.MailMessage> mx; List <AE.Net.Mail.MailMessage> emRq17; APPSETTING lg = db.APPSETTINGs.Where(x => x.NOMBRE == "logPath" && x.ACTIVO).FirstOrDefault(); log.ruta = lg.VALUE + "LeerCorreos_"; log.escribeLog("-----------------------------------------------------------------------START"); try { List <CONMAIL> cc = db.CONMAILs.ToList(); CONMAIL conmail = cc.FirstOrDefault(x => x.ID == "LE"); if (conmail == null) { log.escribeLog("Falta configurar inbox."); return; } ic = new ImapClient(conmail.HOST, conmail.MAIL, conmail.PASS, AuthMethods.Login, (int)conmail.PORT, conmail.SSL); // Select a mailbox. Case-insensitive ic.SelectMailbox("INBOX"); //Esto traera los emails recibidos y no leidos //mx = ic.GetMessages(0, ic.GetMessageCount() - 1, true, false) long a = ic.GetMessageCount(); if (a > 100) { mx = ic.GetMessages(ic.GetMessageCount() - 100, ic.GetMessageCount() - 1, true, false) .Where(m => !m.Flags.HasFlag(Flags.Seen) && !m.Flags.HasFlag(Flags.Deleted)).ToList(); } else { mx = ic.GetMessages(0, ic.GetMessageCount() - 1, true, false) .Where(m => !m.Flags.HasFlag(Flags.Seen) && !m.Flags.HasFlag(Flags.Deleted)).ToList(); } //En esta lista ingresaremos a los mails que sean recibidos como cc emRq17 = new List <AE.Net.Mail.MailMessage>(); log.escribeLog("Leer inbox - numReg=(" + mx.Count + ")"); } catch (Exception e) { mx = new List <AE.Net.Mail.MailMessage>(); emRq17 = new List <AE.Net.Mail.MailMessage>(); log.escribeLog("Error al leer" + e.Message.ToString()); } try { //ingresamos los correos CORREO for (int i = 0; i < mx.Count; i++) { AE.Net.Mail.MailMessage mm = ic.GetMessage(mx[i].Uid, false); try { string[] arrAsunto = mm.Subject.Split(']'); int a = arrAsunto.Length - 1; //Recupero el asunto y lo separo del numdoc y pos string[] arrAprNum = arrAsunto[a].Split('-');//RSG cambiar 0 a 1 string[] arrClaves = arrAprNum[1].Split('.'); //Valido que tenga los datos necesarios para el req 17 if (arrClaves.Length > 1) { arrClaves[1] = Decimal.Parse(arrClaves[1]).ToString(); } ////var xy = arrAprNum[0].Trim(); if (arrAprNum[0].Trim() == "De Acuerdo" || arrAprNum[0].Trim() == "DeAcuerdo") { emRq17.Add(mm); log.escribeLog("NEGO A - " + arrClaves[1]); } else if (arrAprNum[0].Trim() == "Tengo Observaciones" || arrAprNum[0].Trim() == "TengoObservaciones") { emRq17.Add(mm); log.escribeLog("NEGO O - " + arrClaves[1]); } } catch { ic.AddFlags(Flags.Seen, mm); log.escribeLog("ERROR - " + mm.Subject); } } //Correos de FLUJO DE APROBACIÓN y RECURRENTE-----------------------------------------------------2 y 3 if (true) { for (int i = 0; i < mx.Count; i++) { AE.Net.Mail.MailMessage mm = ic.GetMessage(mx[i].Uid, false); try { string[] arrAsunto = mm.Subject.Split(']'); int a = arrAsunto.Length - 1; //Recupero el asunto y lo separo del numdoc y pos string[] arrAprNum = arrAsunto[a].Split('-');//RSG cambiar 0 a 1 string[] arrClaves = arrAprNum[1].Split('.'); decimal numdoc = Decimal.Parse(arrClaves[0]); //Si el Texto es Aprobado, Rechazado o Recurrente string[] arrApr = arrAprNum[0].Split(':'); if (arrApr.Length > 1) { ProcesaFlujo pF = new ProcesaFlujo(); if (arrApr[1] == "Approved" || arrApr[1] == "Rejected") { log.escribeLog("APPR AR - " + arrClaves[0]); int pos = Convert.ToInt32(arrAprNum[2]); FLUJO fl = db.FLUJOes.Where(x => x.NUM_DOC == numdoc && x.POS == pos).FirstOrDefault(); if (fl != null) { Console.WriteLine(mm.From.Address.Trim()); Console.WriteLine(fl.USUARIO.EMAIL); log.escribeLog("APPR mails - " + mm.From.Address.Trim() + " == " + fl.USUARIO.EMAIL); if (mm.From.Address.Trim().ToLower() == fl.USUARIO.EMAIL.Trim().ToLower() || mm.From.Address.Trim().ToLower() == fl.USUARIO1.EMAIL.Trim().ToLower()) { Console.WriteLine("true"); fl.ESTATUS = arrApr[1].Substring(0, 1); fl.FECHAM = DateTime.Now; Comentario com = new Comentario(); fl.COMENTARIO = com.getComment(mm.Body, mm.ContentType); ////fl.COMENTARIO = mm.Body; ////if (fl.COMENTARIO.Length > 255) //// fl.COMENTARIO = fl.COMENTARIO.Substring(0, 252) + "..."; var res = pF.procesa(fl, ""); log.escribeLog("APPR PROCESA - Res = " + res); Email email = new Email(); if (res == "1") { email.enviarCorreo(fl.NUM_DOC, 1, pos); } else if (res == "3") { email.enviarCorreo(fl.NUM_DOC, 3, pos); } using (TAT001Entities db1 = new TAT001Entities()) { FLUJO ff = db1.FLUJOes.Where(x => x.NUM_DOC == fl.NUM_DOC).OrderByDescending(x => x.POS).FirstOrDefault(); Estatus es = new Estatus();//RSG 18.09.2018 DOCUMENTO ddoc = db1.DOCUMENTOes.Find(fl.NUM_DOC); ff.STATUS = es.getEstatus(ddoc); db1.Entry(ff).State = System.Data.Entity.EntityState.Modified; db1.SaveChanges(); } Console.WriteLine(res); } } ic.AddFlags(Flags.Seen, mm); } ////else if (arrApr[1] == "Rejected") ////{ //// int pos = Convert.ToInt32(arrAprNum[2]); //// FLUJO fl = db.FLUJOes.Where(x => x.NUM_DOC == numdoc && x.POS == pos).FirstOrDefault(); //// fl.ESTATUS = "R"; //// fl.FECHAM = DateTime.Now; //// fl.COMENTARIO = mm.Body; //// var res = pF.procesa(fl, ""); //// if (res == "0") //// { //// // //// } //// else if (res == "1") //// { //// enviarCorreo(fl.NUM_DOC, 1); //// } //// else if (res == "3") //// { //// enviarCorreo(fl.NUM_DOC, 3); //// } //// //para marcar el mensaje como leido //// ic.AddFlags(Flags.Seen, mm); ////} else if (arrApr[1] == "Recurrent") { ////Reversa r = new Reversa(); ////string ts = db.DOCUMENTOes.Find(numdoc).TSOL.TSOLR; ////int ret = 0; ////if (ts != null) //// ret = r.creaReversa(numdoc.ToString(), ts); //////para marcar el mensaje como leido ////if (ret != 0) //// ic.AddFlags(Flags.Seen, mm); } } } catch (Exception ee) { ic.AddFlags(Flags.Seen, mm); log.escribeLog("ERROR - " + ee.Message.ToString()); } } } //req17 ////FLUJNEGO fn = new FLUJNEGO(); for (int i = 0; i < emRq17.Count; i++) { ////AE.Net.Mail.MailMessage mm = emRq17[i]; AE.Net.Mail.MailMessage mm = ic.GetMessage(emRq17[i].Uid, false); if (true) { string[] arrAsunto = mm.Subject.Split(']'); int isa = arrAsunto.Length - 1; //Recupero el asunto y lo separo del numdoc y pos string[] arrAprNum = arrAsunto[isa].Split('-'); string[] arrPiNN = arrAprNum[1].Split('.'); var _id = int.Parse(arrPiNN[1]); var vkorg = arrPiNN[2]; var _correo = arrPiNN[4].Replace('*', '.').Replace('+', '-').Replace('/', '@').Replace('#', '-'); //recupero las fechas de envio var _xres = db.NEGOCIACIONs.Where(x => x.ID == _id).FirstOrDefault(); var pid = arrPiNN[0]; //// var fs = db.DOCUMENTOes.Where(f => f.PAYER_ID == pid && f.FECHAC.Value.Month == DateTime.Now.Month && f.FECHAC.Value.Year == DateTime.Now.Year && f.DOCUMENTO_REF == null).ToList(); var _xff = _xres.FECHAF.AddDays(1); var fs = db.DOCUMENTOes.Where(f => f.PAYER_ID == pid && f.VKORG == vkorg && f.PAYER_EMAIL == _correo && f.FECHAC >= _xres.FECHAI && f.FECHAC < _xff && f.DOCUMENTO_REF == null).ToList(); //LEJ 20.07.2018----- var dOCUMENTOes = fs; var lstD = new List <DOCUMENTO>();//--- ////DOCUMENTOA dz = null;//--- for (int y = 0; y < dOCUMENTOes.Count; y++) { PorEnviar pe = new PorEnviar(); if (pe.seEnvia(dOCUMENTOes[y], db, log)) { lstD.Add(dOCUMENTOes[y]); } //////recupero el numdoc ////var de = fs[i].NUM_DOC; //////sino ecuentra una coincidencia con el criterio discriminatorio se agregan o no a la lista ////dz = db.DOCUMENTOAs.Where(x => x.NUM_DOC == de && x.CLASE != "OTR").FirstOrDefault(); ////if (dz == null || dz != null) ////{ //// if (dOCUMENTOes[y].TSOL.NEGO == true)//para el ultimo filtro //// { //// string estatus = ""; //// if (dOCUMENTOes[y].ESTATUS != null) { estatus += dOCUMENTOes[y].ESTATUS; } else { estatus += " "; } //// if (dOCUMENTOes[y].ESTATUS_C != null) { estatus += dOCUMENTOes[y].ESTATUS_C; } else { estatus += " "; } //// if (dOCUMENTOes[y].ESTATUS_SAP != null) { estatus += dOCUMENTOes[y].ESTATUS_SAP; } else { estatus += " "; } //// if (dOCUMENTOes[y].ESTATUS_WF != null) { estatus += dOCUMENTOes[y].ESTATUS_WF; } else { estatus += " "; } //// if (dOCUMENTOes[y].FLUJOes.Count > 0) //// { //// estatus += dOCUMENTOes[y].FLUJOes.OrderByDescending(a => a.POS).FirstOrDefault().WORKFP.ACCION.TIPO; //// } //// else //// { //// estatus += " "; //// } //// if (dOCUMENTOes[y].TSOL.PADRE) { estatus += "P"; } else { estatus += " "; } //// if (dOCUMENTOes[y].FLUJOes.Where(x => x.ESTATUS == "R").ToList().Count > 0) //// { //// estatus += dOCUMENTOes[y].FLUJOes.Where(x => x.ESTATUS == "R").OrderByDescending(a => a.POS).FirstOrDefault().USUARIO.PUESTO_ID; //// } //// else //// { //// estatus += " "; //// } //// if (System.Text.RegularExpressions.Regex.IsMatch(estatus, "...[P][R]..")) //// lstD.Add(dOCUMENTOes[y]); //// else if (System.Text.RegularExpressions.Regex.IsMatch(estatus, "...[R]..[8]")) //// lstD.Add(dOCUMENTOes[y]); //// else if (System.Text.RegularExpressions.Regex.IsMatch(estatus, "[P]..[A]...")) //// lstD.Add(dOCUMENTOes[y]); //// else if (System.Text.RegularExpressions.Regex.IsMatch(estatus, "..[P][A]...")) //// lstD.Add(dOCUMENTOes[y]); //// else if (System.Text.RegularExpressions.Regex.IsMatch(estatus, "..[E][A]...")) //// lstD.Add(dOCUMENTOes[y]); //// else if (System.Text.RegularExpressions.Regex.IsMatch(estatus, "...[A].[P].")) //// lstD.Add(dOCUMENTOes[y]); //// else if (System.Text.RegularExpressions.Regex.IsMatch(estatus, "...[A]...")) //// lstD.Add(dOCUMENTOes[y]); //// else if (System.Text.RegularExpressions.Regex.IsMatch(estatus, "...[T]...")) //// lstD.Add(dOCUMENTOes[y]); //// //if (dOCUMENTOes[y].ESTATUS_WF == "P")//LEJ 20.07.2018---------------------------I //// //{ //// // if (dOCUMENTOes[y].FLUJOes.Count > 0) //// // { //// // if (dOCUMENTOes[y].FLUJOes.OrderByDescending(a => a.POS).FirstOrDefault().USUARIO != null) //// // { //// // //(Pendiente Validación TS) //// // if (dOCUMENTOes[y].FLUJOes.OrderByDescending(a => a.POS).FirstOrDefault().USUARIO.PUESTO_ID == 8) //// // { //// // lstD.Add(dOCUMENTOes[y]); //// // } //// // } //// // } //// //} //// //else if (dOCUMENTOes[y].ESTATUS_WF == "R")//(Pendiente Corrección) //// //{ //// // if (dOCUMENTOes[y].FLUJOes.Count > 0) //// // { //// // lstD.Add(dOCUMENTOes[y]); //// // } //// //} //// //else if (dOCUMENTOes[y].ESTATUS_WF == "T")//(Pendiente Taxeo) //// //{ //// // if (dOCUMENTOes[y].TSOL_ID == "NCIA") //// // { //// // if (dOCUMENTOes[y].PAIS_ID == "CO")//(sólo Colombia) //// // { //// // lstD.Add(dOCUMENTOes[y]); //// // } //// // } //// //} //// //else if (dOCUMENTOes[y].ESTATUS_WF == "A")//(Por Contabilizar) //// //{ //// // if (dOCUMENTOes[y].ESTATUS == "P") //// // { //// // lstD.Add(dOCUMENTOes[y]); //// // } //// //} //// //else if (dOCUMENTOes[y].ESTATUS_SAP == "E")//Error en SAP //// //{ //// // lstD.Add(dOCUMENTOes[y]); //// //} //// //else if (dOCUMENTOes[y].ESTATUS_SAP == "X")//Succes en SAP //// //{ //// // lstD.Add(dOCUMENTOes[y]); //// //} //// } //// //LEJ 20.07.2018----------------------------------------------------------------T ////} } //---- if (arrAprNum[0].Trim() == "DeAcuerdo" || arrAprNum[0].Trim() == "De Acuerdo") { for (int x = 0; x < lstD.Count; x++) { FLUJNEGO fn = new FLUJNEGO(); fn.NUM_DOC = lstD[x].NUM_DOC; DateTime fecham = mm.Date; fn.FECHAM = fecham; fn.FECHAC = lstD[x].FECHAC; fn.KUNNR = arrPiNN[0]; var cm = arrAprNum[0].ToString(); Comentario com = new Comentario(); cm += com.getComment(mm.Body, mm.ContentType); ////cm += " - " + mm.Body; var cpos = db.FLUJNEGOes.Where(h => h.NUM_DOC.Equals(fn.NUM_DOC)).ToList().Count; fn.POS = cpos + 1; fn.COMENTARIO = cm; db.FLUJNEGOes.Add(fn); db.SaveChanges(); } } else if (arrAprNum[0].Trim() == "TengoObservaciones" || arrAprNum[0].Trim() == "Tengo Observaciones") { for (int x = 0; x < lstD.Count; x++) { FLUJNEGO fn = new FLUJNEGO(); fn.NUM_DOC = lstD[x].NUM_DOC; fn.FECHAC = lstD[x].FECHAC; DateTime fecham = mm.Date; fn.FECHAM = fecham; fn.KUNNR = arrPiNN[0]; var cm = arrAprNum[0] + " "; Comentario com = new Comentario(); cm += com.getComment(mm.Body, mm.ContentType); ////cm += " - " + mm.Body; var cpos = db.FLUJNEGOes.Where(h => h.NUM_DOC.Equals(fn.NUM_DOC)).ToList().Count; fn.POS = cpos + 1; fn.COMENTARIO = cm; db.FLUJNEGOes.Add(fn); db.SaveChanges(); } } else { //Hubo algun error break; } } //para marcar el mensaje como leido ic.AddFlags(Flags.Seen, mm); } } catch (Exception ex) { log.escribeLog("ERROR - " + ex.InnerException.ToString()); ////throw new Exception(ex.InnerException.ToString()); } finally { ic.Dispose(); } }
public List <string> mandarCorreo(string pay, string vkorg, string vtweg, string spart, string correo, DateTime fi, DateTime ff, DateTime fn) { List <string> errores = new List <string>(); try { //LEJ 20.07.2018------------------------------ //Validar si hay coincidencias en el filtro ////var dOCUMENTOes = db.DOCUMENTOes.Where(x => x.PAYER_ID == pay && x.VKORG == vkorg && x.VTWEG == vtweg && x.SPART == spart && x.PAYER_EMAIL == correo && ((x.FECHAC.Value.Day >= fi.Day && x.FECHAC.Value.Day <= ff.Day) && x.FECHAC.Value.Month == ff.Month && x.FECHAC.Value.Year == ff.Year)).Include(d => d.CLIENTE).Include(d => d.PAI).Include(d => d.SOCIEDAD).Include(d => d.TALL).Include(d => d.TSOL).Include(d => d.USUARIO).ToList(); var dOCUMENTOes = db.DOCUMENTOes.Where(x => x.PAYER_ID == pay && x.VKORG == vkorg && x.VTWEG == vtweg && x.SPART == spart && x.PAYER_EMAIL == correo && (x.FECHAC >= fi && x.FECHAC <= ff)).Include(d => d.CLIENTE).Include(d => d.PAI).Include(d => d.SOCIEDAD).Include(d => d.TALL).Include(d => d.TSOL).Include(d => d.USUARIO).ToList(); ////DOCUMENTOA dz = null; //Para ver si encuentra un match ////int xv = 0; int xxv = 0; for (int i = 0; i < dOCUMENTOes.Count; i++) { PorEnviar pe = new PorEnviar(); if (pe.seEnvia(dOCUMENTOes[i], db, log)) { xxv++; } } //si encontro entra. if (xxv > 0)//LEJ 20.07.2018----- { ////string mailt = ConfigurationManager.AppSettings["mailt"]; APPSETTING mailC = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mail") && x.ACTIVO).FirstOrDefault(); if (mailC == null) { Console.Write("Falta configuración de tipo de email!"); errores.Add("Falta configuración de tipo de email!"); return(errores); } //RSG 30.07.2018 string mailt = mailC.VALUE; //RSG 30.07.2018 CONMAIL conmail = db.CONMAILs.Find(mailt); //correo = correoA; if (string.IsNullOrEmpty(correoA)) { correoA = correo; } if (conmail != null) { ////MailMessage mail = new MailMessage(conmail.MAIL, "*****@*****.**"); MailMessage mail = new MailMessage(conmail.MAIL, correoA); log.escribeLog("MAIL TO: TST"); log.escribeLog("MAIL TO: " + correo); SmtpClient client = new SmtpClient(); if (conmail.SSL) { client.Port = (int)conmail.PORT; client.EnableSsl = conmail.SSL; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential(conmail.MAIL, conmail.PASS); } else { client.UseDefaultCredentials = true; client.Credentials = new NetworkCredential(conmail.MAIL, conmail.PASS); } client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Host = conmail.HOST; try { APPSETTING urlC = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("url") && x.ACTIVO).FirstOrDefault(); ////string cadUrl = System.Configuration.ConfigurationManager.AppSettings["url"]; if (urlC == null) { Console.Write("Falta configuración de URL!"); errores.Add("Falta configuración!"); return(errores); } //RSG 30.07.2018 string cadUrl = urlC.VALUE; //RSG 30.07.2018 cadUrl += "Negociaciones/Index/"; string UrlDirectory = cadUrl; ////UrlDirectory += "?pay=" + pay + "&vkorg=" + vkorg + "&vtweg=" + vtweg + "&spart=" + spart + "&correo=" + correo + "&fi=" + fi.ToShortDateString() + "&ff=" + ff.ToShortDateString(); UrlDirectory += "?pay=" + pay + "&vkorg=" + vkorg + "&vtweg=" + vtweg + "&spart=" + spart + "&correo=" + correo + "&fn=" + fn.ToShortDateString(); log.escribeLog("url: " + UrlDirectory); WebRequest myRequest = WebRequest.Create(UrlDirectory); myRequest.Method = "GET"; WebResponse myResponse = myRequest.GetResponse(); StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8); string result = sr.ReadToEnd(); sr.Close(); myResponse.Close(); mail.IsBodyHtml = true; mail.Body = result; mail.Subject = "TAT Kellogg's - " + DateTime.Now.ToShortDateString(); client.Send(mail); log.escribeLog("MAIL ENVIADO a " + correoA); } catch (Exception ex) { log.escribeLog("ENVIADO: NO"); errores.Add("No se ha podido enviar el email"); log.escribeLog("ERROR: " + ex.InnerException); ////throw new Exception("No se ha podido enviar el email", ex.InnerException); return(errores); } } } } catch (Exception exe) { errores.Add(exe.ToString()); } return(errores); }
public void enviaMailC(decimal id, bool ban, string spras, string UrlDirectory, string page, string image, string emailsto) //MGC 09-10-2018 Envío de correos { //int pagina = 203; //ID EN BASE DE DATOS //ViewBag.Title = "Solicitud"; if (id != 0) { DOCUMENTO dOCUMENTO = db.DOCUMENTOes.Find(id); if (dOCUMENTO != null) { //dOCUMENTO.CLIENTE = db.CLIENTEs.Where(a => a.VKORG.Equals(dOCUMENTO.VKORG) // & a.VTWEG.Equals(dOCUMENTO.VTWEG) // & a.SPART.Equals(dOCUMENTO.SPART) // & a.KUNNR.Equals(dOCUMENTO.PAYER_ID)).First(); //MGC 08-10-2018.2 Obtener los datos para el correo //Obtener el mail del creador var workflow = db.FLUJOes.Where(a => a.NUM_DOC.Equals(id)).OrderByDescending(a => a.POS).FirstOrDefault(); //ViewBag.acciones = db.FLUJOes.Where(a => a.NUM_DOC.Equals(id) & a.ESTATUS.Equals("P") & a.USUARIOA_ID.Equals(User.Identity.Name)).FirstOrDefault(); string mailt = ConfigurationManager.AppSettings["mailt"]; string mtest = ConfigurationManager.AppSettings["mailtest"]; //B20180803 MGC Correos string mailTo = ""; if (mtest == "X") { mailTo = "*****@*****.**";// mailt; //B20180803 MGC Correos //MGC 08-10-2018.2 Obtener los datos para el correo } else { //mailTo = workflow.USUARIO.EMAIL;//MGC 09-10-2018 Envío de correos mailTo = emailsto;//MGC 09-10-2018 Envío de correos } CONMAIL conmail = db.CONMAILs.Find(mailt); if (conmail != null) { System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(conmail.MAIL, mailTo); SmtpClient client = new SmtpClient(); if (conmail.SSL) { client.Port = (int)conmail.PORT; client.EnableSsl = conmail.SSL; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential(conmail.MAIL, conmail.PASS); } else { client.UseDefaultCredentials = true; client.Credentials = new NetworkCredential(conmail.MAIL, conmail.PASS); } client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Host = conmail.HOST; if (workflow == null) { mail.Subject = "N" + dOCUMENTO.NUM_DOC + "-" + DateTime.Now.ToShortTimeString(); } else { mail.Subject = workflow.ESTATUS + dOCUMENTO.NUM_DOC + "-" + DateTime.Now.ToShortTimeString(); } mail.IsBodyHtml = true; //UrlDirectory = UrlDirectory.Substring(0, UrlDirectory.LastIndexOf("/")); //MGC 09-10-2018 Envío de correos --> //UrlDirectory = UrlDirectory.Replace("Solicitudes/Create", "Correos/" + page); //UrlDirectory = UrlDirectory.Replace("Solicitudes/Details", "Correos/" + page); //UrlDirectory = UrlDirectory.Replace("Solicitudes/Edit", "Correos/" + page); //UrlDirectory = UrlDirectory.Replace("Flujos/Procesa", "Correos/" + page); //MGC 09-10-2018 Envío de correos <-- //UrlDirectory += "/" + dOCUMENTO.NUM_DOC + "?mail=true"; //B20180803 MGC Correos UrlDirectory += "/" + dOCUMENTO.NUM_DOC + ""; //B20180803 MGC Correos HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(UrlDirectory); myRequest.Method = "GET"; WebResponse myResponse = myRequest.GetResponse(); StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8); string result = sr.ReadToEnd(); sr.Close(); myResponse.Close(); //mail.Body = result;//B20180803 MGC Correos try { mail.AlternateViews.Add(Mail_Body(result, image));//B20180803 MGC Correos }catch (Exception e) { } mail.IsBodyHtml = true;//B20180803 MGC Correos client.Send(mail); } } } //return View(dOCUMENTO); }
public ActionResult Enviar(decimal id, bool index, string tipo, string spras) { //int pagina = 203; //ID EN BASE DE DATOS ViewBag.Title = "Solicitud"; if (id == 0) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DOCUMENTO dOCUMENTO = db.DOCUMENTOes.Find(id); if (dOCUMENTO == null) { return(HttpNotFound()); } dOCUMENTO.CLIENTE = db.CLIENTEs.Where(a => a.VKORG.Equals(dOCUMENTO.VKORG) & a.VTWEG.Equals(dOCUMENTO.VTWEG) & a.SPART.Equals(dOCUMENTO.SPART) & a.KUNNR.Equals(dOCUMENTO.PAYER_ID)).First(); var workflow = db.FLUJOes.Where(a => a.NUM_DOC.Equals(id)).OrderByDescending(a => a.POS).FirstOrDefault(); //ViewBag.acciones = db.FLUJOes.Where(a => a.NUM_DOC.Equals(id) & a.ESTATUS.Equals("P") & a.USUARIOA_ID.Equals(User.Identity.Name)).FirstOrDefault(); string mailt = ConfigurationManager.AppSettings["mailt"]; string mtest = ConfigurationManager.AppSettings["mailtest"]; string mailTo = ""; if (mtest == "X") { mailTo = "*****@*****.**"; } else { mailTo = workflow.USUARIO.EMAIL; } CONMAIL conmail = db.CONMAILs.Find(mailt); if (conmail != null) { MailMessage mail = new MailMessage(conmail.MAIL, mailTo); SmtpClient client = new SmtpClient(); if (conmail.SSL) { client.Port = (int)conmail.PORT; client.EnableSsl = conmail.SSL; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential(conmail.MAIL, conmail.PASS); } else { client.UseDefaultCredentials = true; client.Credentials = new NetworkCredential(conmail.MAIL, conmail.PASS); } client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Host = conmail.HOST; if (workflow == null) { mail.Subject = "N" + dOCUMENTO.NUM_DOC + "-" + DateTime.Now.ToShortTimeString(); } else { mail.Subject = workflow.ESTATUS + dOCUMENTO.NUM_DOC + "-" + DateTime.Now.ToShortTimeString(); } mail.IsBodyHtml = true; string UrlDirectory = Request.Url.GetLeftPart(UriPartial.Path); //UrlDirectory = UrlDirectory.Substring(0, UrlDirectory.LastIndexOf("/")); if (tipo == "R") { UrlDirectory = UrlDirectory.Replace("/Mails/Enviar", "/Correos/Details"); } if (tipo == "A") { UrlDirectory = UrlDirectory.Replace("/Mails/Enviar", "/Correos/Index"); } HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(UrlDirectory); myRequest.Method = "GET"; WebResponse myResponse = myRequest.GetResponse(); StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8); string result = sr.ReadToEnd(); sr.Close(); myResponse.Close(); mail.Body = result; client.Send(mail); } if (index) { return(RedirectToAction("Index", "Solicitudes", new { id = id, spras = spras })); } else { return(RedirectToAction("Details", "Solicitudes", new { id = id, spras = spras })); } //return View(dOCUMENTO); }
public void enviaMailC(decimal id, bool ban, string spras, string UrlDirectory, string page, string image, string imageFlag, int?pos = null) { try { if (id != 0) { DOCUMENTO dOCUMENTO = db.DOCUMENTOes.Find(id); if (dOCUMENTO != null) { dOCUMENTO.CLIENTE = db.CLIENTEs.Where(a => a.VKORG.Equals(dOCUMENTO.VKORG) && a.VTWEG.Equals(dOCUMENTO.VTWEG) && a.SPART.Equals(dOCUMENTO.SPART) && a.KUNNR.Equals(dOCUMENTO.PAYER_ID)).First(); var workflow = db.FLUJOes.Where(a => a.NUM_DOC.Equals(id)).OrderByDescending(a => a.POS).FirstOrDefault(); string mailt = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mail")).FirstOrDefault().VALUE; string mtest = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mailTest")).FirstOrDefault().VALUE; string mailTo = ""; if (mtest == "X") { mailTo = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mailAdmin")).FirstOrDefault().VALUE; } else { if (pos == null) { mailTo = workflow.USUARIO1.EMAIL; } else if (pos == 1) { mailTo = dOCUMENTO.USUARIO.EMAIL; } } CONMAIL conmail = db.CONMAILs.Find(mailt); if (conmail != null) { System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(conmail.MAIL, mailTo); SmtpClient client = new SmtpClient(); if (conmail.SSL) { client.Port = (int)conmail.PORT; client.EnableSsl = conmail.SSL; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential(conmail.MAIL, conmail.PASS); } else { client.UseDefaultCredentials = true; client.Credentials = new NetworkCredential(conmail.MAIL, conmail.PASS); } client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Host = conmail.HOST; if (workflow == null) { mail.Subject = "N" + dOCUMENTO.NUM_DOC + "-" + DateTime.Now.ToShortTimeString(); } else { mail.Subject = workflow.ESTATUS + dOCUMENTO.NUM_DOC + "-" + DateTime.Now.ToShortTimeString(); } mail.IsBodyHtml = true; //mail.Subject += workflow.USUARIOA_ID; if (pos == null) { mail.Subject += " " + workflow.USUARIOA_ID; } else if (pos == 1) { mail.Subject += " " + dOCUMENTO.USUARIOC_ID; } UrlDirectory = UrlDirectory.Replace("Solicitudes/Create", "Correos/" + page); UrlDirectory = UrlDirectory.Replace("Solicitudes/Details", "Correos/" + page); UrlDirectory = UrlDirectory.Replace("Solicitudes/Edit", "Correos/" + page); UrlDirectory = UrlDirectory.Replace("Flujos/Procesa", "Correos/" + page); UrlDirectory = UrlDirectory.Replace("Masiva/setDatos", "Correos/" + page); UrlDirectory = UrlDirectory.Replace("Solicitudes/Cancelar", "Correos/" + page); UrlDirectory = UrlDirectory.Replace("Solicitudes/Reversar", "Correos/" + page); //UrlDirectory += "/" + dOCUMENTO.NUM_DOC + "?mail=true"; //B20180803 MGC Correos //UrlDirectory += "/" + dOCUMENTO.NUM_DOC + ""; //B20180803 MGC Correos UrlDirectory += "/" + dOCUMENTO.NUM_DOC + "?spras=" + spras; //B20180803 MGC Correos Log.Info("Intenta generar page " + UrlDirectory); HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(UrlDirectory); myRequest.Method = "GET"; WebResponse myResponse = myRequest.GetResponse(); StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8); string result = sr.ReadToEnd(); sr.Close(); myResponse.Close(); //mail.Body = result;//B20180803 MGC Correos mail.AlternateViews.Add(Mail_Body(result, image, imageFlag)); //B20180803 MGC Correos mail.IsBodyHtml = true; //B20180803 MGC Correos Log.Info("Intenta enviar email-To:" + mailTo + " " + UrlDirectory); client.Send(mail); } } } } catch (Exception e) { Log.Info("Error al enviar correo:" + e.Message); if (e.InnerException != null) { Log.Info(e.InnerException.ToString()); } Console.Write("Error al enviar correo:" + e.Message); } }
public void enviaMailB(string usu, string usu2, string spras, string UrlDirectory, string page, string image, string imageFlag) { USUARIO usuInf1 = db.USUARIOs.Where(x => x.ID == usu).FirstOrDefault(); USUARIO usuInf2 = db.USUARIOs.Where(x => x.ID == usu2).FirstOrDefault(); try { string mailt = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mail")).FirstOrDefault().VALUE; string mtest = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mailTest")).FirstOrDefault().VALUE; string mailTo = ""; if (mtest == "X") { mailTo = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mailAdmin")).FirstOrDefault().VALUE; } else { mailTo = usuInf2.EMAIL; } CONMAIL conmail = db.CONMAILs.Find(mailt); if (conmail != null) { System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(conmail.MAIL, mailTo); SmtpClient client = new SmtpClient(); if (conmail.SSL) { client.Port = (int)conmail.PORT; client.EnableSsl = conmail.SSL; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential(conmail.MAIL, conmail.PASS); } else { client.UseDefaultCredentials = true; client.Credentials = new NetworkCredential(conmail.MAIL, conmail.PASS); } client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Host = conmail.HOST; mail.Subject = "BACKUP" + "-" + usuInf1.NOMBRE + " " + usuInf1.APELLIDO_P + " " + usuInf1.APELLIDO_M + "-" + DateTime.Now.ToShortTimeString(); mail.IsBodyHtml = true; UrlDirectory = UrlDirectory.Replace("Usuarios/AddBackup", "Correos/" + page); UrlDirectory += "/?usu=" + usu + "&usu2=" + usu2 + "&spras=" + spras; Log.Info("Intenta generar page " + UrlDirectory); HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(UrlDirectory); myRequest.Method = "GET"; WebResponse myResponse = myRequest.GetResponse(); StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8); string result = sr.ReadToEnd(); sr.Close(); myResponse.Close(); mail.AlternateViews.Add(Mail_Body(result, image, imageFlag)); mail.IsBodyHtml = true; Log.Info("Intenta enviar email-To:" + mailTo + " " + UrlDirectory); client.Send(mail); } } catch (Exception e) { Log.Info("Error al enviar correo:" + e.Message); if (e.InnerException != null) { Log.Info(e.InnerException.ToString()); } Console.Write("Error al enviar correo:" + e.Message); } }
public void enviarCorreo(decimal nd, int c, int pos) { try { ////var workflow = db.FLUJOes.Where(a => a.NUM_DOC.Equals(nd) && a.POS == pos).OrderByDescending(a => a.POS).FirstOrDefault(); var workflow = db.FLUJOes.Where(a => a.NUM_DOC.Equals(nd)).OrderByDescending(a => a.POS).FirstOrDefault(); APPSETTING mailtC = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mail") && x.ACTIVO).FirstOrDefault(); string mailt = mailtC.VALUE; APPSETTING mailTestC = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mailTest") && x.ACTIVO).FirstOrDefault(); string mtest = mailTestC.VALUE; string mailTo = ""; if (mtest == "X") { mailTo = "*****@*****.**"; } else { mailTo = workflow.USUARIO.EMAIL; } CONMAIL conmail = db.CONMAILs.Find(mailt); if (conmail != null) { System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(conmail.MAIL, mailTo); SmtpClient client = new SmtpClient(); if (conmail.SSL) { client.Port = (int)conmail.PORT; client.EnableSsl = conmail.SSL; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential(conmail.MAIL, conmail.PASS); } else { client.UseDefaultCredentials = true; client.Credentials = new NetworkCredential(conmail.MAIL, conmail.PASS); } client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Host = conmail.HOST; APPSETTING urlC = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("url") && x.ACTIVO).FirstOrDefault(); string cadUrl = urlC.VALUE; string UrlDirectory = ""; if (c == 1) { UrlDirectory = cadUrl + "Correos/Index/" + nd + "?spras=" + workflow.USUARIO.SPRAS_ID; ////mail.Subject = "Aprobado"; mail.Subject = "A" + nd + "-" + DateTime.Now.ToShortTimeString(); } if (c == 3) { UrlDirectory = cadUrl + "Correos/Details/" + nd + "?spras=" + workflow.USUARIO.SPRAS_ID; ////mail.Subject = "Rechazado"; mail.Subject = "R" + nd + "-" + DateTime.Now.ToShortTimeString(); } WebRequest myRequest = WebRequest.Create(UrlDirectory); myRequest.Method = "GET"; myRequest.ContentType = "application/x-www-form-urlencoded"; // Set credentials to use for this request. myRequest.Credentials = CredentialCache.DefaultCredentials; WebResponse myResponse = myRequest.GetResponse(); StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8); string result = sr.ReadToEnd(); sr.Close(); myResponse.Close(); mail.AlternateViews.Add(Mail_Body(result, "MX"));//B20180803 MGC Correos mail.IsBodyHtml = true; //mail.Body = result; client.Send(mail); } } catch (Exception ex) { log.escribeLog("ERROR - " + ex.InnerException.ToString()); ////throw new Exception("No se ha podido enviar el email", ex.InnerException); } }
public void mandarCorreo(string pay, string vkorg, string vtweg, string spart, string correo) { ////MailMessage mail = new System.Net.Mail.MailMessage(); ////mail.From = new MailAddress("*****@*****.**"); //////mail.To.Add("*****@*****.**"); ////mail.To.Add(correo); ////mail.Subject = "Asunto"; ////SmtpClient smtp = new SmtpClient(); ////smtp.Host = "smtp.gmail.com"; ////smtp.Port = 25; //465; //587 ////smtp.Credentials = new NetworkCredential("*****@*****.**", "24abril14"); ////smtp.EnableSsl = true; string mailt = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mail")).FirstOrDefault().VALUE; string mtest = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mailTest")).FirstOrDefault().VALUE; string mailTo = ""; if (mtest == "X") { mailTo = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mailAdmin")).FirstOrDefault().VALUE; } else { mailTo = correo; } CONMAIL conmail = db.CONMAILs.Find(mailt); if (conmail != null) { System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(conmail.MAIL, mailTo); SmtpClient client = new SmtpClient(); if (conmail.SSL) { client.Port = (int)conmail.PORT; client.EnableSsl = conmail.SSL; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential(conmail.MAIL, conmail.PASS); } else { client.UseDefaultCredentials = true; client.Credentials = new NetworkCredential(conmail.MAIL, conmail.PASS); } client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Host = conmail.HOST; //mail.To.Add("*****@*****.**"); //mail.To.Add(correo); mail.Subject = "Negociaciones cliente: " + pay; try { string UrlDirectory = Request.Url.GetLeftPart(UriPartial.Path); UrlDirectory = UrlDirectory.Replace("Edit", "Index"); UrlDirectory += "?pay=" + pay + "&vkorg=" + vkorg + "&vtweg=" + vtweg + "&spart=" + spart + "&correo=" + correo; HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(UrlDirectory); myRequest.Method = "GET"; WebResponse myResponse = myRequest.GetResponse(); StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8); string result = sr.ReadToEnd(); sr.Close(); myResponse.Close(); mail.IsBodyHtml = true; mail.Body = result; // client.Send(mail); } catch (Exception ex) { throw new Exception("No se ha podido enviar el email", ex.InnerException); } } }