/// <summary> /// Html für EMail Passwort reset generieren /// </summary> /// <param name="request">UserInfos</param> /// <returns></returns> public string GetPasswordResetEmail(ExEmailResetPassword request) { var htmlEMailOrder = ViewRenderer.Render("EMail/EMailResetPassword", request); return(htmlEMailOrder); }
public async Task <ExSaveDataResult> ForgotPasswordShop(ExShopForgotPassword exShopRegistration) { using (Db db = new Db()) { var shop = await db.TblStores.FirstOrDefaultAsync(a => a.EMail.ToLower() == exShopRegistration.EMail.ToLower()); if (shop == null) { return(new ExSaveDataResult { Result = EnumSaveDataResult.Error }); } if (exShopRegistration.Step == EnumShopForgotPassword.Step1) { //LINK VERSENDEN zum Ändern des Passwortes BissEMail bm = new BissEMail(WebAppSettings.EmailCredentials); ExEmailResetPassword er = new ExEmailResetPassword(); er.Message = "Bitte bestätige den folgenden Link, damit dir ein neues Passwort zugesendet wird."; er.ApproveLink = $"{Constants.WebAppBaseUrl}ShopForgotPassword/?guid={shop.ActivationCode}"; string email = _mailgenerator.GetPasswordResetEmail(er); List <string> eMails2Inform; if (Constants.CurrentAppSettings.AppConfigurationConstants == 0) //master { eMails2Inform = new List <string> { exShopRegistration.EMail }; //ToDo: Wenn die Settings Tabelle existiert dann über die Settings Tabelle } else { eMails2Inform = new List <string> { "*****@*****.**", exShopRegistration.EMail }; //ToDo: Wenn die Settings Tabelle existiert dann über die Settings Tabelle } var res = await bm.SendHtmlEMail(Constants.SendEMailAs, eMails2Inform, "Passwort vergessen?", email, Constants.SendEMailAsDisplayName); } else if (exShopRegistration.Step == EnumShopForgotPassword.Step2) { //PASSWORT VERSENDEN string pwd = PasswordHelper.GeneratePassword(6); shop.Password = PasswordHelper.CumputeHash(pwd); shop.ActivationCode = PasswordHelper.GeneratePassword(10); await db.SaveChangesAsync(); BissEMail bm = new BissEMail(WebAppSettings.EmailCredentials); ExEmailNewPassword er = new ExEmailNewPassword(); er.Message = "Du kannst dich jetzt mit dem folgenden Passwort einloggen: "; er.NewPassword = pwd; er.ApproveLink = $"{Constants.WebAppBaseUrl}Activate/?guid={shop.ActivationCode}"; List <string> eMails2Inform; if (Constants.CurrentAppSettings.AppConfigurationConstants == 0) //master { eMails2Inform = new List <string> { exShopRegistration.EMail }; } else { eMails2Inform = new List <string> { "*****@*****.**", exShopRegistration.EMail }; //ToDo: Wenn die Settings Tabelle existiert dann über die Settings Tabelle } string email = _mailgenerator.GetNewPasswordEmail(er); var res = await bm.SendHtmlEMail(Constants.SendEMailAs, eMails2Inform, "Passwort wurde geändert", email, Constants.SendEMailAsDisplayName); } return(new ExSaveDataResult()); } }