public ActionResult Index(ForgotPassModel model) { if (ModelState.IsValid) { var dao = new UserDao(); if (dao.CheckUsername(model.Username) && dao.CheckEmail(model.Gmail)) { var user = dao.GetUserName(model.Username); if (user.Username == model.Username && user.Email == model.Gmail) { string code = CodeChangePass(6); user.Code = code; dao.Update(user); string content = System.IO.File.ReadAllText(Server.MapPath("/assets/net/template/newCode.html")); content = content.Replace("{{Code}}", code); new MailHelper().SendEmail(model.Gmail, "code to change the password", content); return(Redirect("/ResetPassword/Index")); } else { ModelState.AddModelError("", "Email hoặc Username không đúng"); } } else { ModelState.AddModelError("", "Email hoặc Username không đúng"); } } return(View(model)); }
public IActionResult ForgotPassword([FromBody] ForgotPassModel model) { //find the user try { User user = _userService.GetByEmail(model.Email); //generate a random password for him String newPassword = _userService.RandomPassword(); //update user info _userService.Update(user, newPassword); MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); mail.From = new MailAddress("email"); mail.To.Add(user.Email); mail.Subject = "New password"; mail.Body = $"Here is your new password: {newPassword}\n\n Please change it as soon as you log in!\n\n"; SmtpServer.Port = 587; SmtpServer.Credentials = new System.Net.NetworkCredential("email", "password"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); return(Ok()); } catch (Exception ex) { return(BadRequest(new { ex.Message })); } }