Beispiel #1
0
        public ActionResult ForgotPwd(string email, string userName)
        {
            if (string.IsNullOrEmpty(email) || string.IsNullOrEmpty(userName))
            {
                return(Json(new AjaxResult {
                    Status = "Error", ErrorMsg = "email或用户名不能为空"
                }));
            }
            if (!RegexHelper.IsMatch(email, @"\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}"))
            {
                return(Json(new AjaxResult {
                    Status = "Error", ErrorMsg = "email格式不正确"
                }));
            }
            var user = UserService.GetUserByUserName(userName);

            if (user == null)
            {
                return(Json(new AjaxResult {
                    Status = "Error", ErrorMsg = "用户不存在"
                }));
            }
            //根据用户编号获取一个验证
            var verify = VerifyService.Add(user.Id);
            //邮件内容
            //http://localhost:31726/Manage/Main/Login
            string url     = Request.Url.ToString();
            string content = string.Format("{0}/User/ResetPassword?userId={1}&verifyCode={2}", url.Substring(0, url.IndexOf("/User")), user.Id, verify.VerifyCode);
            //发送邮件
            bool b = EmailHelper.SendMail(new Email
            {
                DisplayName = "InShare运营团队",
                Subject     = "找回账号密码",
                Body        = content,//这里应该是链接,点击后请求修改密码页面
            }, email);

            if (b)
            {
                return(Json(new AjaxResult {
                    Status = "OK"
                }));
            }
            return(Json(new AjaxResult {
                Status = "Error", ErrorMsg = "请稍后再试"
            }));
        }