public async Task <ActionResult> ResetPassword(ResetPasswordViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var user = await UserManager.FindByNameAsync(model.Email); if (user == null) { // No revelar que el usuario no existe return(RedirectToAction("ResetPasswordConfirmation", "Account")); } var VerificacionCodigo = RecuperacionContrasenaControlador.ConsultaRecuperacionContrasena(user.Id, model.Code); if (VerificacionCodigo != null) { var result = await UserManager.ResetPasswordAsync(user.Id, model.Code, model.Password); if (result.Succeeded) { RecuperacionContrasenaControlador.EliminarRecuperacion(user.Id); GestorCorreo.EmailCambioContrasena(model.Email); return(RedirectToAction("ResetPasswordConfirmation", "Account")); } AddErrors(result); } return(View()); }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { model.IdUser = user.Id; UsuarioControlador.NuevoUsuario(model); GestorCorreo.EmailCuentaNueva(model.Email, model.Password); //await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false); // Para obtener más información sobre cómo habilitar la confirmación de cuentas y el restablecimiento de contraseña, visite https://go.microsoft.com/fwlink/?LinkID=320771 // Enviar correo electrónico con este vínculo // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirmar cuenta", "Para confirmar la cuenta, haga clic <a href=\"" + callbackUrl + "\">aquí</a>"); return(RedirectToAction("ListaUsuario", "Account")); } AddErrors(result); } CargarFormulario(); // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario return(View(model)); }
public async Task <ActionResult> ForgotPassword(ForgotPasswordViewModel model) { if (ModelState.IsValid) { var user = await UserManager.FindByNameAsync(model.Email); if (user != null) { //Para obtener más información sobre cómo habilitar la confirmación de cuentas y el restablecimiento de contraseña, visite https://go.microsoft.com/fwlink/?LinkID=320771 //Enviar correo electrónico con este vínculo string code = await UserManager.GeneratePasswordResetTokenAsync(user.Id); RecuperacionContrasenaViewModel Recuperacion = new RecuperacionContrasenaViewModel(); Recuperacion.IdUser = user.Id; Recuperacion.Token = code; RecuperacionContrasenaControlador.NuevaRecuperacionContrasena(Recuperacion); var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); GestorCorreo.EmailRecuperacionContrasena(model.Email, callbackUrl); //await UserManager.SendEmailAsync(user.Id, "Restablecer contraseña", "Para restablecer la contraseña, haga clic <a href=\"" + callbackUrl + "\">aquí</a>"); // No revelar que el usuario no existe o que no está confirmado //return View("ForgotPasswordConfirmation"); } return(RedirectToAction("ForgotPasswordConfirmation", "Account")); } // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario return(View(model)); }
public void ProcesarEnvioAAgencias(List <BoletoRobotDTO> lboletosDeudaPendiente, string mensaje, string asunto, string lcorreoDisplay) { var lcorreoFrom = string.Format("{0}[email protected]", Configuracion.Gds).ToLower(); var lclientes = lboletosDeudaPendiente.GroupBy(p => new { p.IdCliente }).Select(s => s.Key.IdCliente).ToList(); lclientes.ForEach(lcliente => { var lboletosPorCliente = lboletosDeudaPendiente.Where(boleto => boleto.IdCliente == lcliente).ToList(); var lencabezado = string.Format("Estimado Cliente : {0}, ", lboletosPorCliente[0].NombreCliente); var lcorreoAsunto = string.Format(asunto, lboletosPorCliente[0].NombreCliente, lboletosPorCliente[0].IdCliente); lcorreoDisplay = string.Format("{0} - Robot Anulaciones Avisos - Agencia", Configuracion.Gds); var factoryReporte = ReporteFactory.getReporteFactory(tipoProceso, lboletosPorCliente); var lcorreoBody = factoryReporte.ConstruirCorreo(lencabezado, mensaje.ToString()); var lscorreo = new GestorCorreo { EmailFrom = lcorreoFrom, EmailTo = lboletosPorCliente[0].CorreoCliente, EmailCC = (string.IsNullOrEmpty(lboletosPorCliente[0].CorreoPromotor) ? Configuracion.correo_EmailPromotorAlternativo : lboletosPorCliente[0].CorreoPromotor) + ";" + Configuracion.correo_EmailCoordConsolidador, EmailDisplay = lcorreoDisplay, EmailBody = lcorreoBody, EmailSubject = lcorreoAsunto }; lscorreo.Enviar(); }); }
// POST: api/Publish public string Post([FromBody] RequestPub requestPub) { HttpClient clienteHttp = new HttpClient(); //Abrir conexion CorePOSApi.Business.Data.context.DataModelService da = new CorePOSApi.Business.Data.context.DataModelService(); string cadena = "SP_CONSULTAR_PROVEEDORES"; SqlCommand comando = new SqlCommand(cadena, da._connection); //Ejecuto consulta de proveedores SqlDataReader registros = comando.ExecuteReader(); while (registros.Read()) { string url_consumo = registros["URL_CONSUMO"].ToString(); //Si esta subscrito if (url_consumo != "") { requestPub.Codigo_proveedor = registros["CODIGO"].ToString(); var request = clienteHttp.PostAsync(url_consumo, requestPub, new JsonMediaTypeFormatter()); request.Wait(); GestorCorreo gestor = new GestorCorreo(); gestor.EnviarCorreo(registros["CORREO"].ToString(), "Cotización", "Cotización - Codigo Despacho: " + requestPub.Codigo_despacho + " - Volumen: " + requestPub.Volumen + " - Peso: " + requestPub.Peso + " - Direccion_origen: " + requestPub.Direccion_origen + " - Direccion_destino: " + requestPub.Direccion_destino); } } da._connection.Close(); return("Oferta enviada"); }
public void ProcesarEnvioACajas(List <BoletoRobotDTO> lboletosDeudaPendiente, string mensaje, string asunto, string lcorreoDisplay) { var lcorreoFrom = string.Format("{0}[email protected]", Configuracion.Gds).ToLower(); var lcajas = lboletosDeudaPendiente.GroupBy(p => new { p.CorreoCaja }).Select(s => s.Key.CorreoCaja).ToList(); lcajas.ForEach(lcaja => { var lboletosPorCaja = lboletosDeudaPendiente.Where(boleto => boleto.CorreoCaja.Equals(lcaja)).ToList(); var lencabezado = string.Format("Caja: {0}, ", lboletosPorCaja[0].DescripcionSucursal); var factoryReporte = ReporteFactory.getReporteFactory(tipoProceso, lboletosPorCaja); var lcorreoBody = factoryReporte.ConstruirCorreo(lencabezado, mensaje.ToString()); var lcorreoAsunto = string.Format(asunto, lboletosPorCaja[0].DescripcionSucursal); var lscorreo = new GestorCorreo { EmailFrom = lcorreoFrom, EmailTo = lboletosPorCaja[0].CorreoCaja, EmailCC = "*****@*****.**", EmailBCC = Configuracion.correo_EmailRobotAlertas, EmailDisplay = lcorreoDisplay, EmailBody = lcorreoBody, EmailSubject = lcorreoAsunto }; lscorreo.Enviar(); }); }
public void ProcesarEnvioAVendedores(List <BoletoRobotDTO> lboletosDeudaPendiente, string mensaje, string asunto, string lcorreoDisplay) { var lcorreoFrom = string.Format("{0}[email protected]", Configuracion.Gds).ToLower(); var lvendedores = lboletosDeudaPendiente.GroupBy(p => new { p.IdVendedor }).Select(s => s.Key.IdVendedor).ToList(); lvendedores.ForEach(lvendedor => { var lboletosPorVendedor = lboletosDeudaPendiente.Where(boleto => boleto.IdVendedor.Equals(lvendedor)).ToList(); var lencabezado = string.Format("Estimado(a): {0}, ", lboletosPorVendedor[0].Vendedor.Nombre); var factoryReporte = ReporteFactory.getReporteFactory(tipoProceso, lboletosPorVendedor); var lcorreoBody = factoryReporte.ConstruirCorreo(lencabezado, mensaje.ToString()); var lcorreoAsunto = string.Format(asunto, lboletosPorVendedor[0].Vendedor.Nombre); var lscorreo = new GestorCorreo { EmailFrom = lcorreoFrom, EmailTo = lboletosPorVendedor[0].Vendedor.Correo, EmailCC = (string.IsNullOrEmpty(lboletosPorVendedor[0].CorreoPromotor) ? Configuracion.correo_EmailPromotorAlternativo : lboletosPorVendedor[0].CorreoPromotor), EmailDisplay = lcorreoDisplay, EmailBody = lcorreoBody, EmailSubject = lcorreoAsunto }; lscorreo.Enviar(); }); }
static void Main(string[] args) { try { GestorCorreo gestor = new GestorCorreo(); MailMessage correo = new MailMessage("*****@*****.**", "*****@*****.**", "Reporte Mensual.", "Por favor ve el reporte adjunto."); gestor.EnviarCorreo(correo); gestor.EnviarCorreo("*****@*****.**", "Prueba", "Mensaje en texto plano"); gestor.EnviarCorreo("*****@*****.**", "Prueba", "<h1>Mensaje en HTML<h1><p><s>Super Awesome html Message.</s></p>", true); } catch (System.Exception ex) { Console.WriteLine(ex.Message); } }
private void btEnviar_Click(object sender, EventArgs e) { //EJEMPLO DE ENVIO //GestorCorreo gc = new GestorCorreo("*****@*****.**", "Eskpe1234", GestorCorreo.TipoServidor.Otro); //gc.NuevoCorreo("*****@*****.**", "Asuntooo", "Cuerpo del menesja", false); //MessageBox.Show(gc.EnviarCorreo()); GestorCorreo gc = new GestorCorreo(correoQuienEnvia, Password, GestorCorreo.TipoServidor.Otro); List <string> archivos = new List <string>(); archivos = adjuntos.Union(adjuntostemp).ToList(); gc.NuevoCorreo(emails.Where(x => x.grupo == "Para").Select(x => x.correo).ToList(), emails.Where(x => x.grupo == "CC").Select(x => x.correo).ToList(), emails.Where(x => x.grupo == "CCO").Select(x => x.correo).ToList(), txtAsunto.Text, txtDescripcion.Text, chkContenidoHTML.Checked, archivos); MessageBox.Show(gc.EnviarCorreo()); }
protected void BTN_Restablecer_Click(object sender, EventArgs e) { DBRecuperarContrasena dBRecuperarContrasena = new DBRecuperarContrasena(); DAOUsuario dBUsuario = new DAOUsuario(); if (dBUsuario.obtenerUsuario(TB_Identificacion.Text.ToString()).Rows.Count == 0) { LB_Mensaje.Text = "El usuario NO es valido!"; TB_Identificacion.Text = ""; } else if (dBRecuperarContrasena.verificarExistenciaSolicitud(TB_Identificacion.Text.ToString()).Rows.Count > 0) { LB_Mensaje.Text = "Ya tiene una solicitud de restablecimiento, verifique en su correo."; TB_Identificacion.Text = ""; } else { LFuncion lFuncion = new LFuncion(); string token = lFuncion.encriptar(TB_Identificacion.Text.ToString()); String sesion = Session.SessionID; dBRecuperarContrasena.agregarSolicitudDeRestablecerContrasena(TB_Identificacion.Text.ToString(), token, sesion); string mensaje = "Su link para restablecer su contraseña: " + "http://localhost:51250/View/RecuperarContrasenaPasoDos.aspx?" + token; GestorCorreo gestorCorreo = new GestorCorreo(); DataTable usuario = dBUsuario.obtenerUsuario(TB_Identificacion.Text.ToString()); gestorCorreo.enviarCorreo(usuario.Rows[0]["correo"].ToString(), "Restablecer Contraseña", mensaje); LB_Mensaje.Text = "Se envio informacion a su correo!"; TB_Identificacion.Text = ""; TB_Identificacion.Enabled = false; BTN_Restablecer.Enabled = false; } }
public void ProcesoEnvioNoFacturados() { var lvendedores = boletos.GroupBy(p => new { p.IdVendedor }).Select(s => s.Key.IdVendedor).ToList(); lvendedores.ForEach(lvendedor => { var lboletosPorVendedor = boletos.Where(boleto => boleto.IdVendedor.Equals(lvendedor)).ToList(); var lpseudos = lboletosPorVendedor.GroupBy(p => new { p.Pseudo }).Select(s => s.Key.Pseudo).ToList(); lpseudos.ForEach(lpseudo => { var lboletosPorPseudo = lboletosPorVendedor.Where(boleto => boleto.Pseudo.Equals(lpseudo)).ToList(); var lencabezado = string.Format("Estimado(a): {0}, ", lboletosPorPseudo[0].Vendedor.Nombre); mensaje = new StringBuilder(); mensaje.Append("Se hace de tu conocimiento que los siguientes boletos emitidos no están facturados."); var factoryReporte = ReporteFactory.getReporteFactory(tipoProceso, lboletosPorPseudo); var lcorreoBody = factoryReporte.ConstruirCorreo(lencabezado, mensaje.ToString()); var lcorreoDisplay = string.Format("Alertas GDS [{0}]", lboletosPorPseudo[0].Pseudo); var lcorreoFrom = string.Format("{0}[email protected]", lboletosPorPseudo[0].Pseudo); var lscorreo = new GestorCorreo { EmailFrom = lcorreoFrom, EmailTo = lboletosPorPseudo[0].Vendedor.Correo, EmailCC = lboletosPorPseudo[0].Vendedor.CorreoJefe, EmailDisplay = lcorreoDisplay, EmailBody = lcorreoBody, EmailSubject = "Boletos No Facturados" }; lscorreo.Enviar(); }); }); }
public void ProcesarEnvioPromotores(List <BoletoRobotDTO> lboletosDeudaPendiente, string mensaje, string asunto, string lcorreoDisplay) { var lcorreoFrom = string.Format("{0}[email protected]", Configuracion.Gds).ToLower(); ReporteFactory lreporteFactory = null; var lpromotores = lboletosDeudaPendiente.GroupBy(p => new { p.IdPromotor }).Select(s => s.Key.IdPromotor).ToList(); lpromotores.ForEach(lpromotor => { var lboletosPorPomotor = lboletosDeudaPendiente.Where(boleto => boleto.IdPromotor == lpromotor).ToList(); var lcorreoAsunto = string.Format(asunto, lboletosPorPomotor[0].NombrePromotor); var lencabezado = string.Format("Estimado(a): {0}, ", lboletosPorPomotor[0].NombrePromotor); var lconsolidado = new StringBuilder(); var lclientesPromotor = lboletosPorPomotor.GroupBy(p => new { p.IdCliente }).Select(s => s.Key.IdCliente).ToList(); lclientesPromotor.ForEach(lcliente => { var lboletosPorCliente = lboletosDeudaPendiente.Where(boleto => boleto.IdCliente == lcliente).ToList(); lreporteFactory = ReporteFactory.getReporteFactory(tipoProceso, lboletosPorCliente); var ltabla = lreporteFactory.ConstruirTablaReporte(); lconsolidado.AppendLine(string.Format("<span class='textContenidoNegrita'> AGENCIA : {0} DK : {1} </span>", lboletosPorCliente[0].NombreCliente, lboletosPorCliente[0].IdCliente)); lconsolidado.AppendLine(string.Format("<br>{0}<br>", ltabla)); }); var lcorreoBody = lreporteFactory.ConstruirCorreo(lencabezado, mensaje.ToString(), lconsolidado.ToString()); var lscorreo = new GestorCorreo { EmailFrom = lcorreoFrom, EmailTo = lboletosPorPomotor[0].CorreoPromotor, EmailCC = (string.IsNullOrEmpty(lboletosPorPomotor[0].CorreoJefePromotor) ? string.Empty : lboletosPorPomotor[0].CorreoJefePromotor), EmailDisplay = lcorreoDisplay, EmailBody = lcorreoBody, EmailSubject = lcorreoAsunto }; lscorreo.Enviar(); }); }
public void ProcesoEnvioNOAnulados(List <BoletoRobotDTO> boletosNoAnulados) { display = string.Format("{0} - Robot Anulaciones Avisos", Configuracion.Gds); asunto = string.Format("El Robot de Anulaciones {0} NO PUDO ANULAR boletos pendientes de pago.", Configuracion.Gds); mensaje = new StringBuilder(); mensaje.Append(string.Format("El robot de Anulaciones {0} NO PUDO ANULAR los siguientes boletos. Verificar los mensajes de error devueltos por el GDS : ", Configuracion.Gds)); var factoryReporte = ReporteFactory.getReporteFactory(tipoProceso, boletosNoAnulados); var lcorreoBody = factoryReporte.ConstruirCorreo("", mensaje.ToString()); var lcorreoFrom = string.Format("{0}[email protected]", Configuracion.Gds).ToLower(); var lscorreo = new GestorCorreo { EmailFrom = lcorreoFrom, EmailTo = Configuracion.correo_EmailCoordConsolidador, EmailCC = Configuracion.correo_EmailCounterTurno + ";" + Configuracion.correo_EmailSupervisorCounterIA, EmailBCC = Configuracion.correo_EmailRobotAlertas + ";" + Configuracion.correo_EmailNotificacion, EmailDisplay = display, EmailBody = lcorreoBody, EmailSubject = asunto }; lscorreo.Enviar(); }
private void EnviarCorreo_Load(object sender, EventArgs e) { CGestorCorreo = new GestorCorreo(); }