public async Task <IActionResult> ForgotPassword([FromBody] ForgotPasswordViewModel model) { if (!ModelState.IsValid) { return(BadRequest()); } var user = await _userManager.FindByEmailAsync(model.Email); if (user == null || !(await _userManager.IsEmailConfirmedAsync(user))) { // Don't reveal that the user does not exist or is not confirmed return(BadRequest()); } // For more information on how to enable account confirmation and password reset please // visit https://go.microsoft.com/fwlink/?LinkID=532713 var code = await _userManager.GeneratePasswordResetTokenAsync(user); var callbackUrl = Url.ApiResetPasswordCallbackLink(user.Id, code, Request.Scheme, model.Host); //await _emailSender.SendEmailAsync(model.Email, "Reset Password", // $"Please reset your password by clicking here: <a href='{callbackUrl}'>link</a>"); EmailSender emailSender = new EmailSender(); await emailSender.SendEmailAsync(model.Email, _localizer["PasswordReset"], $"{_localizer["PasswordPleaseReset"]}: <a href='{callbackUrl}'>link</a>"); return(Ok()); }