public ActionResult ForgetPwd(FormCollection collection) { string name = Request["username"]; if (string.IsNullOrEmpty(name)) { return(Content(ReturnMsg(Enum_Return.失败, "账号不能为空", null))); } string email = Request["email"]; if (string.IsNullOrEmpty(email)) { return(Content(ReturnMsg(Enum_Return.失败, "邮箱不能为空", null))); } string verify = Request["verify"]; if (string.IsNullOrEmpty(verify)) { return(Content(ReturnMsg(Enum_Return.失败, "验证码不能为空", null))); } if (Session["vcode"] == null || Session["vcode"].ToString() != verify) { return(Content(ReturnMsg(Enum_Return.失败, "验证码不正确", null))); } var model = db.guanwang_user.Where(c => c.userName == name && c.userEmail == email).FirstOrDefault(); if (model == null) { return(Content(ReturnMsg(Enum_Return.失败, "验证失败", null))); } #region 重置密码并发送给用户 //重置密码 Random rdm = new Random(); int pwd = rdm.Next(100000, 999999); string md5pwd = pwd.ToString().Md5(); model.userPwd = md5pwd; model.updateTime = DateTime.Now; db.SaveChanges(); //获取内容 string htmlbody = MailHelper.CreateHtmlPage(name, pwd.ToString()); //调用邮件类发送邮件 bool send = MailHelper.Send(email, "捧起网后台找回密码", htmlbody); if (send)//发送成功 { return(Content(ReturnMsg(Enum_Return.成功, "新的密码已发送到您的邮箱", email))); } else { return(Content(ReturnMsg(Enum_Return.失败, "重置失败", null))); } #endregion }
public ActionResult ForgetPwd(FormCollection collection) { string email = Request["email"]; if (string.IsNullOrEmpty(email)) { return(Content(ReturnMsg(Enum_Return.失败, "邮箱地址不能为空!", null))); } var model = db.sys_user.Where(c => c.user_email == email).FirstOrDefault(); if (model == null) { return(Content(ReturnMsg(Enum_Return.失败, "系统不存在此邮箱!", null))); } if (model.apply_status != (int)Enum_Member_Status.正常) { return(Content(ReturnMsg(Enum_Return.失败, "该用户异常,不允许使用此功能!", null))); } #region 发送邮件 //生成激活码 Guid guid = Guid.NewGuid(); string activetoken = guid.ToString().Md5(); //更新token和token时间 model.email_token = activetoken; model.email_token_time = DateTime.Now; int n = db.SaveChanges(); if (n <= 0) { return(Content(ReturnMsg(Enum_Return.失败, "发送失败,请重试或联系管理员!", null))); } //拼接激活的url string host = Request.Url.Scheme + "://" + Request.Url.Authority; string url = host + "/account/forgetpwdreset?email=" + email + "&token=" + activetoken; //获取内容 string htmlbody = MailHelper.CreateHtmlPage(email, url); //调用邮件类发送邮件 bool flag = MailHelper.Send(email, "找回密码链接", htmlbody); #endregion if (!flag) { return(Content(ReturnMsg(Enum_Return.失败, "发送失败,请重试或联系管理员!", null))); } return(Content(ReturnMsg(Enum_Return.成功, "发送成功,请登录" + email + "邮箱查看重置密码邮件!", null))); }