public async Task <IActionResult> ForgotPassword(ForgotPassportViewModel forgot)
        {
            if (ModelState.IsValid)
            {
                var customUser = await user.FindByEmailAsync(forgot.Email);

                if (customUser != null)
                {
                    var token = await user.GeneratePasswordResetTokenAsync(customUser);

                    var passwordResetLink = Url.Action("ResetPassword", "Register", new { email = forgot.Email, token = token }, Request.Scheme);
                    var message           = new MimeMessage();
                    message.From.Add(new MailboxAddress("Majid", "*****@*****.**"));
                    message.To.Add(new MailboxAddress("Code academy", customUser.Email));
                    message.Subject = "Registration";
                    message.Body    = new TextPart("plain")
                    {
                        Text = passwordResetLink
                    };
                    using (var client = new SmtpClient())
                    {
                        client.Connect("smtp.gmail.com", 587, false);
                        client.Authenticate("*****@*****.**", "miko1999");
                        var bodyBuilder = new BodyBuilder();
                        bodyBuilder.HtmlBody = $"<a href={passwordResetLink}> Click Me<a/>";

                        message.Body = bodyBuilder.ToMessageBody();
                        client.Send(message);
                    }
                    return(RedirectToAction("ForgotPasswordConfirmation"));
                }
                ModelState.AddModelError("Email", "Belə mail yoxdur");
            }
            return(View());
        }
예제 #2
0
 public ActionResult ForgotPassword(ForgotPassportViewModel viewModel)
 {
     return(View(viewModel));
 }