public IActionResult ResetPasswordRequest([FromBody] PasswordResetRequest model) { if (!ModelState.IsValid) { return(BadRequest("Valid email address is required")); } ActionResponse response = new ActionResponse(); var foundUser = userService.GetUserByEmail(model.Email); if (foundUser != null) { string adminEmail = HttpContext.RequestServices.GetRequiredService <IConfiguration>() .GetValue <String>("Email:Smtp:AdminEmail"); string resetPasswordUrl = configuration["ResetPasswordUrl"]; DateTime datedTime = DateTime.Now; PasswordTokenModel tModel = new PasswordTokenModel() { Email = foundUser.Email, TokenDate = datedTime }; TokenUtility utility = new TokenUtility(); string token = utility.GeneratePasswordResetToken(tModel); PasswordResetEmailModel resetModel = new PasswordResetEmailModel() { Email = foundUser.Email, Token = token, Url = resetPasswordUrl }; response = userService.ResetPasswordRequest(resetModel, datedTime, adminEmail); } return(Ok(response)); }
/// <summary> /// 寄送密碼重設信 /// </summary> /// <param name="recipientEmailAddress">收件人 Email</param> /// <param name="passwordResetEmailModel">密碼重設信的資料</param> public void SendPasswordResetEmail(string recipientEmailAddress, PasswordResetEmailModel passwordResetEmailModel) { MailMessage mail = new MailMessage(this.SenderEmailAddress, new MailAddress(recipientEmailAddress)); mail.Subject = $"重設您在 {GlobalConfig.WebsiteName} 的密碼"; mail.Body = this.GenerateMailBody("PasswordReset", passwordResetEmailModel); mail.IsBodyHtml = true; this.SmtpClient.Send(mail); }
public async Task SendPasswordResetEmail(PasswordResetEmailModel model) { string templateId = _configuration["MailJet:PasswordResetTemplateId"]; var message = new Message { TemplateId = int.Parse(templateId), From = new From { Email = _fromAddress, Name = "Save On Clouds!" }, To = new[] { new To { Email = model.ToAddress, Name = model.Name } }, Variables = new Variables { EmailConfirmUrl = model.PasswordResetUrl, SiteUrl = model.SiteUrl } }; await Send(message); }
public ActionResponse SendPasswordRecoveryEmail(PasswordResetEmailModel model) { ActionResponse response = new ActionResponse(); try { MailMessage mailMessage = new MailMessage(); mailMessage.IsBodyHtml = true; mailMessage.From = new MailAddress(this.emailFrom, senderName); string emailMessage = this.GetPasswordResetMessage(model.Email, model.FullName, model.Token, model.Url); mailMessage.To.Add(model.Email); mailMessage.Body = emailMessage; mailMessage.Subject = "Password Reset Request AIMS Somalia"; client.Send(mailMessage); } catch (Exception ex) { response.Message = ex.Message; response.Success = false; } return(response); }