コード例 #1
0
 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"));
 }
コード例 #2
0
        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"));
            }
        }