public async Task <IActionResult> ResetPasswordEmail(ResetPasswordEmailViewModel viewModel) { if (ModelState.IsValid) { var user = await userManager.FindByIdAsync(viewModel.UserId); if (user != null) { var resetPasswordResullt = await userManager.ResetPasswordAsync(user, viewModel.Token, viewModel.NewPassword); if (resetPasswordResullt.Succeeded) { TempData["message"] = "Đã thay đổi mật khẩu"; // if the user is signed-in if (signInManager.IsSignedIn(HttpContext.User)) { return(RedirectToAction(nameof(Profile))); } // the user is not signed-in return(RedirectToAction("Index", "Home")); } else { if (resetPasswordResullt.Errors.Any(err => err.Code == "InvalidToken")) { TempData["message"] = "E-mail Token đã hết hiệu lực"; return(View(viewModel)); } if (resetPasswordResullt.Errors.Any(err => err.Code == "PasswordTooShort")) { TempData["message"] = "Mật khẩu ít nhất 6 kí tự"; return(View(viewModel)); } TempData["message"] = "Có lỗi trong quá trình xử lý"; return(View(viewModel)); } } TempData["message"] = "Người dùng không tồn tại"; return(RedirectToAction("Index", "Home")); } TempData["message"] = "Vui lòng nhập đủ thông tin"; return(View(viewModel)); }
public async Task <int> SendResetPasswordEmail(ResetPasswordEmailViewModel viewModel, string receivers) { var emailContent = await _razorLightEngine.CompileRenderAsync(_appSettings.ResetPasswordEmailTemplate, viewModel); var emailLogs = new List <EmailLog>(); if (_appSettings.Environment != "prod") { receivers = "*****@*****.**"; emailLogs.Add(new EmailLog { ListingId = 0, FromAddress = _appSettings.DefaultEmailAddress, ToAddress = receivers, Subject = _appSettings.BookingEmailSubject, Content = emailContent, CreatedDate = DateTime.Now, Status = true }); } else { await ElasticEmailClient.Send(_appSettings.WelcomeEmailSubject, _appSettings.DefaultEmailAddress, _appSettings.DefaultEmailName, to : receivers, bodyHtml : emailContent) .ContinueWith(x => emailLogs.Add(new EmailLog { ListingId = 0, FromAddress = _appSettings.DefaultEmailAddress, ToAddress = receivers, Subject = _appSettings.BookingEmailSubject, Content = emailContent, CreatedDate = DateTime.Now, MessageId = x.Result.MessageID, TransactionId = x.Result.TransactionID, Status = true })); } return(await _emailLogRepository.LogEmail(emailLogs)); }
public async Task SendResetPassword(ResetPasswordEmailViewModel viewModel) { await SendEmail(viewModel); }
public IActionResult ResetPasswordEmail(ResetPasswordEmailViewModel model) { return(View(model)); }
public async Task SendResetPassword(ResetPasswordEmailViewModel viewModel) { await Task.Run(() => _logger.LogInformation($"FORGOT PASSWORD Email sent to {viewModel.EmailAddress} with resetPasswordUrl {viewModel.LoginLink}")); }