public JsonResult RecuperarContrasena(string correo) { UsuarioBE usuario = UsuarioLN.ObtenerUsuarioPorCorreo(correo); if (usuario == null) { var jResult = Json(new { success = false, message = "Este correo no ha sido registrado" }, JsonRequestBehavior.AllowGet); jResult.MaxJsonLength = int.MaxValue; return(jResult); } string fechaHoraExpiracion = DateTime.Now.AddMinutes(10).ToString("yyyy-MM-ddTHH:mm:ss.fffK"); string idUsuario = usuario.ID_USUARIO.ToString(); string fieldServer = "[SERVER]", fieldNombres = "[NOMBRES]", fieldIdUsuario = "[ID_USUARIO]"; string[] fields = new string[] { fieldServer, fieldNombres, fieldIdUsuario }; string[] fieldsRequire = new string[] { fieldServer, fieldNombres, fieldIdUsuario }; Dictionary <string, string> dataBody = new Dictionary <string, string> { [fieldServer] = ConfigurationManager.AppSettings["Server"], [fieldNombres] = usuario.NOMBRES, [fieldIdUsuario] = usuario.ID_USUARIO.ToString() }; string subject = $"{usuario.NOMBRES} {usuario.APELLIDOS}, recupere su contraseña"; MailAddressCollection mailTo = new MailAddressCollection(); mailTo.Add(new MailAddress(usuario.CORREO, $"{usuario.NOMBRES} {usuario.APELLIDOS}")); Task.Factory.StartNew(() => mailing.SendMail(Mailing.Templates.RecuperarClave, dataBody, fields, fieldsRequire, subject, mailTo)); Session["recuperar"] = true; var jsonResult = Json(new { success = true, message = $"se envió link de recuperación de contraseña al correo {correo}" }, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); }