public async Task <RepositoryResponse <string> > ForgotPassword([FromBody] Mix.Identity.Models.AccountViewModels.ForgotPasswordViewModel model) { var result = new RepositoryResponse <string>() { IsSucceed = true }; if (string.IsNullOrEmpty(model.Email)) { result.IsSucceed = false; result.Data = "Invalid Email"; result.Errors.Add("Invalid Email"); return(result); } var user = await _userManager.FindByEmailAsync(model.Email); if (user == null) { result.IsSucceed = false; result.Data = "Email Not Exist"; result.Errors.Add("Email Not Exist"); return(result); } //if (!await _userManager.IsEmailConfirmedAsync(user)) // result.Data = "Invalid Email"; var confrimationCode = await _userManager.GeneratePasswordResetTokenAsync(user); var callbackurl = $"{Request.Scheme}://{Request.Host}/security/reset-password/?token={System.Web.HttpUtility.UrlEncode(confrimationCode)}"; var getEdmTemplate = await Lib.ViewModels.MixTemplates.ReadViewModel.Repository.GetSingleModelAsync( m => m.FolderType == MixTemplateFolders.Edms && m.FileName == "ForgotPassword"); string content = callbackurl; if (getEdmTemplate.IsSucceed) { content = getEdmTemplate.Data.Content.Replace("[URL]", callbackurl); } MixService.SendMail( to: user.Email, subject: "Reset Password", message: content); return(result); }
private static Task SendEdm(string culture, string template, JObject data) { return(Task.Run(() => { if (!string.IsNullOrEmpty(data["email"].Value <string>())) { var getEdm = MixTemplates.UpdateViewModel.GetTemplateByPath(template, culture); if (getEdm.IsSucceed && !string.IsNullOrEmpty(getEdm.Data.Content)) { string body = getEdm.Data.Content; foreach (var prop in data.Properties()) { body = body.Replace($"[[{prop.Name}]]", prop.Value <string>()); } MixService.SendMail("Invitation", getEdm.Data.Content, data["email"].Value <string>()); } } })); }
public async Task <RepositoryResponse <string> > ForgotPassword([FromBody] Mix.Identity.Models.AccountViewModels.ForgotPasswordViewModel model) { var result = new RepositoryResponse <string>() { IsSucceed = true }; if (string.IsNullOrEmpty(model.Email)) { result.IsSucceed = false; result.Data = "Invalid Email"; result.Errors.Add("Invalid Email"); return(result); } var user = await _userManager.FindByEmailAsync(model.Email); if (user == null) { result.IsSucceed = false; result.Data = "Email Not Exist"; result.Errors.Add("Email Not Exist"); return(result); } //if (!await _userManager.IsEmailConfirmedAsync(user)) // result.Data = "Invalid Email"; var confrimationCode = await _userManager.GeneratePasswordResetTokenAsync(user); var callbackurl = $"{Request.Scheme}://{Request.Host}/security/reset-password/?token={System.Web.HttpUtility.UrlEncode(confrimationCode)}"; MixService.SendMail( to: user.Email, subject: "Reset Password", message: callbackurl); return(result); }
public void SendMail([FromBody] JObject model) { MixService.SendMail(model.Value <string>("subject"), model.Value <string>("body"), MixService.GetConfig <string>("ContactEmail", _lang)); }