public async Task <IActionResult> ForgotPassword(ForgotPasswordViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await UsrMgr.FindByEmailAsync(model.Email);

                if (user != null && await UsrMgr.IsEmailConfirmedAsync(user))
                {
                    var token = await UsrMgr.GeneratePasswordResetTokenAsync(user);

                    var passwordResetLink = Url.Action("ResetPassword", "Account",
                                                       new { email = model.Email, token = token }, Request.Scheme);

                    logger.Log(LogLevel.Warning, passwordResetLink);

                    string emailHtmlBody = "<!DOCTYPE html>" +
                                           "<html>" +
                                           "<head>" +
                                           "<title></title>" +
                                           "</head>" +
                                           "<body>" +
                                           "Clique no link para redefinir sua senha:" +
                                           "<br/>" +
                                           "<a href='" + passwordResetLink.ToString() + "'>Redefinir senha</a>" +
                                           "</body>" +
                                           "</html>";

                    SendEmail.Send(model.Email, "BlogAspNet - Redefinir senha", emailHtmlBody);

                    return(View("ForgotPasswordConfirmation"));
                }

                ViewBag.Message = "Usuário não cadastrado ou email do usuário não foi confirmado!";
                return(View());
            }

            return(View(model));
        }