internal EmailResult VerfiyHmEMail(ConfirmEmailMailModel model) { To.Add(model.User.Email); Subject = "Bestätigung Studierender der HM"; return(Email("VerifyHmEMail", model)); }
/// <summary> /// Validierung einer E-Mail Adresse /// </summary> /// <param name="model"></param> /// <returns></returns> internal EmailResult VerfiyEMail(ConfirmEmailMailModel model) { To.Add(model.User.Email); Subject = "Ihre Registrierung bei NINE"; return(Email("VerifyEMail", model)); }
internal EmailResult VerfiyHmEMail(ConfirmEmailMailModel model) { InitSenderTopic(MAIL_SECTION_ACCOUNT); To.Add(model.User.Email); Subject = "Bestätigung Studierender der HM"; return(Email("VerifyHmEMail", model)); }
/// <summary> /// Validierung einer E-Mail Adresse /// </summary> /// <param name="model"></param> /// <returns></returns> internal EmailResult VerfiyEMail(ConfirmEmailMailModel model) { InitSenderTopic(MAIL_SECTION_ACCOUNT); To.Add(model.User.Email); Subject = "Ihre Registrierung bei NINE"; return(Email("VerifyEMail", model)); }
internal EmailResult ChangeEMail(ConfirmEmailMailModel model) { // Die geänderte E-Mail Adresse steht in den Bemerkungen // und wird erst bei Bestätigung übertragen To.Add(model.User.Remark); Subject = "Änderung der E-Mail Adresse bei NINE"; return(Email("ChangeEMail", model)); }
public PartialViewResult SendVerificationMail(string hmemail) { bool IsHM = hmemail.ToLower().EndsWith("@hm.edu"); if (IsHM) { var user = UserManager.FindByEmail(hmemail.ToLower()); var me = UserManager.FindByName(User.Identity.Name); if (user == null) { // Adresse noch nicht vergeben => E-Mail versenden string code = UserManager.GenerateEmailConfirmationToken(me.Id); //var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // das mache ich wieder selber //await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); var mailModel = new ConfirmEmailMailModel { User = me, Token = code, }; new MailController().VerfiyHmEMail(mailModel).Deliver(); return(PartialView("_SuccessMailSent")); } else { if (user.Id.Equals(me.Id)) { // unwahrscheinlich, das darf nicht passieren, wenn doch dann E-Mail versenden return(PartialView("_Error")); } else { // Fehlermeldung "E-Mail Adresse bereits vergeben" return(PartialView("_ErrorMailTaken")); } } } else { // keine hm.edu Adresse return(PartialView("_ErrorInvalidMail")); } }
public ActionResult ChangeEMail(ChangeEMailModel model) { var user = UserManager.FindById(User.Identity.GetUserId()); ViewBag.User = user; if (user.Email.ToLower().Equals(model.EMail.ToLower())) { ModelState.AddModelError("EMail", "Das ist Ihre bisherige Adresse"); return(View(model)); } var existingUser = UserManager.FindByEmail(model.EMail); if (existingUser != null) { ModelState.AddModelError("EMail", "Ungültige E-Mail Adresse"); return(View(model)); } user.Remark = model.EMail; UserManager.Update(user); var mailModel = new ConfirmEmailMailModel { User = user, Token = "", }; try { new MailController().ChangeEMail(mailModel).Deliver(); } catch (SmtpFailedRecipientException exSmtp) { ModelState.AddModelError("EMail", "Fehler bei Zustellung: " + exSmtp.Message); user.Remark = string.Empty; UserManager.Update(user); return(View(model)); } return(RedirectToAction("Index")); }
public async Task <ActionResult> CheckEMail(CheckEMailViewModel model) { var user = UserManager.FindById(model.UserId); if (user != null) { // der Benutzer hat seine E-Mail Adresse nicht verändert if (user.Email.ToLower().Equals(model.EMail.ToLower())) { // es passiert nix } else { // der Benutzer hat seine E-Mail Adresse verändert // prüfen, ob es diese Adresse bereits gibt var user2 = UserManager.FindByEmail(model.EMail); if (user2 != null) { ModelState.AddModelError("EMail", "Es existiert bereits ein Benutzerkonto für diese E-Mail Adresse"); return(View(model)); } // neue E-Mail Adresse setzen UserManager.SetEmail(model.UserId, model.EMail); } // Jetzt eine neue Mail senden string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); var mailModel = new ConfirmEmailMailModel { User = user, Token = code }; new MailController().VerfiyEMail(mailModel).Deliver(); return(RedirectToAction("RegisterSuccess", model)); } else { ModelState.AddModelError("EMail", "Das Benutzerkonto existiert nicht!"); return(View(model)); } }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var now = DateTime.Now; var user = new ApplicationUser { UserName = model.Email, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName, Registered = now, MemberState = model.Email.ToLower().EndsWith("@hm.edu") ? MemberState.Student : MemberState.Guest, Remark = "Abschluss Registrierung steht aus", ExpiryDate = DateTime.Today.AddDays(14), Submitted = now }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { // nicht automatisch anmelden, sondern auf Nachrichtenseite weiterleiten //await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); var mailModel = new ConfirmEmailMailModel { User = user, Token = code, }; try { new MailController().VerfiyEMail(mailModel).Deliver(); var modelSuccess = new RegisterSuccessViewModel { Email = model.Email, ExpiryDate = user.ExpiryDate.Value, }; // Bestätigungs E-Mail senden und Bestätigungsseite senden return(RedirectToAction("RegisterSuccess", modelSuccess)); } catch (SmtpFailedRecipientException exSmtp) { ModelState.AddModelError("Email", "Fehler bei Zustellung: " + exSmtp.Message); return(View(model)); } //return RedirectToAction("Index", "Home"); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }