public async Task <IActionResult> ForgotPassword(ForgotPasswordViewModel model) { //find the user by email var user = await userManager.FindByEmailAsync(model.Email); if (user != null) { //generate password reset token var token = await userManager.GeneratePasswordResetTokenAsync(user); var encodedToken = Encoding.UTF8.GetBytes(token); var validToken = WebEncoders.Base64UrlEncode(encodedToken); //build the url var url = Url.Action("ResetPassword", "Account", new { email = user.Email, token = validToken }, Request.Scheme); //send email to the user var mail = new MailMessageObject() { SenderAddress = "*****@*****.**", RecieverAddress = user.Email, Subject = "Passeord Reset", Body = url }; emailSender.SendMail(mail); return(Ok(new { messge = "Password Reset Link sent to specified email address", link = url })); } return(BadRequest(new { message = "Sorry User not found" })); }
public bool SendMail(MailMessageObject mailMessage) { MyMail emailService = null; if (mailMessage.Attachments != null) { emailService = new MyMail(mailMessage.SenderAddress, mailMessage.Password, mailMessage.RecieverAddress, mailMessage.Subject, mailMessage.Body, mailMessage.Attachments); } else { emailService = new MyMail(mailMessage.SenderAddress, mailMessage.Password, mailMessage.RecieverAddress, mailMessage.Subject, mailMessage.Body); } if (emailService.Send()) { return(true); } return(false); }