public void SendUserWelcomeMessage(User user) { if (user == null) { throw new ArgumentNullException("user"); } // Send Notification To The User var templateSetting = _settingService.GetSettingByKey("UserSignInAttempt"); var tokens = new List <DataToken>(); var template = _templateService.GetTemplateByName(templateSetting.Value); _templateService.AddUserTokens(tokens, user); foreach (var dt in tokens) { template.BodyHtml = CodeHelper.Replace(template.BodyHtml.ToString(), $"[{dt.SystemName}]", dt.Value, StringComparison.InvariantCulture); } var toEmail = user.Email; var toName = user.GetFullName(); var fromEmail = _settingService.GetSettingByKey("FromEmail"); SendNotification(template, tokens, toEmail, toName); }
public ActionResult ForgotPassword(ForgotPasswordModel model) { if (string.IsNullOrEmpty(model.Emailaddress)) { model.Success = false; model.Message = "Please enter a valid email address."; return(View(model)); } var user = _userService.GetUserByEmail(model.Emailaddress); if (user != null) { // Get Forgot Password Template var configSetting = _settingService.GetSettingByKey("ForgotTemplate"); if (configSetting != null) { var templateName = configSetting.Value; var template = _templateService.GetTemplateByName(templateName); if (template != null) { var _lstTokens = template.Tokens.ToList(); _templateService.AddUserTokens(_lstTokens, user); string passwordLink = Url.ActionEnc("ForgotPassword", "ResetPassword", new { @email = user.Email, @code = user.UserGuid.ToString(), @isreset = false }); _emailService.SendUserForgotPasswordMessage(user, passwordLink); SuccessNotification("A password change request has been sent on your email address. Please follow instructions written in the mail."); } } else { ErrorNotification("Configuration Template setting not available, contact administrator."); } } return(RedirectToAction("Login")); }