public async Task <IActionResult> ChangePass(ForgotPassVM model) { if (ModelState.IsValid) { var user = repo.GetUserByEmail(model.Email); if (user != null) { //var token = UserAuth.GetRndToken(); var token = "555"; var callbackUrl = Url.Action("ResetPassword", "Account", new { email = user.Email, code = token }, protocol: HttpContext.Request.Scheme); EmailService emailService = new EmailService(); await emailService.SendEmailAsync(model.Email, "Reset Password", $"Для сброса пароля пройдите по ссылке: <a href='{callbackUrl}'>Click Here!</a>"); } } return(View("AboutMail")); }
public ActionResult ForgotPass(ForgotPassVM forgotPass) { Guid newPass = Guid.NewGuid(); //var newPass = RandomString(); Person person = myContext.Persons.Where(prsn => prsn.Email == forgotPass.Email).FirstOrDefault(); if (person != null) { //Account account = myContext.Accounts.Where(acc => acc.NIK == person.NIK).FirstOrDefault(); //UpdatePassVM updatePass = new UpdatePassVM //{ // Email = forgotPass.Email, // OldPass = account.Password, // NewPass = newPass //}; //UpdatePass(updatePass); Account acc = myContext.Accounts.Find(person.NIK); acc.Password = Hashing.HashPassword(newPass.ToString()); myContext.Entry(acc).State = EntityState.Modified; myContext.SaveChanges(); SmtpClient client = new SmtpClient("smtp.gmail.com", 587)//host , port { Credentials = new NetworkCredential("*****@*****.**", "SaipulAripin123"), EnableSsl = true }; client.Send("*****@*****.**", forgotPass.Email, "Reset Password", $"Hello {person.FirstName} {person.LastName}," + $"\n\nYour New Password is {newPass}"); return(Ok("message sent")); } else { return(NotFound("Email Not Found")); } }