Beispiel #1
0
        public ActionResult ForgotPassword(EmailAddressModel model)
        {
            if (ModelState.IsValid)
            {
                // Attempt to send the user a password email
                try {
                    _membershipProvider.GeneratePasswordResetToken(model.EmailAddress);
                } catch (MembershipException) {
                    ModelState.AddModelError("EmailAddress", "User not found.");
                    return(View());
                }

                try {
                    User user = _membershipProvider.GetUserByEmailAddress(model.EmailAddress);
                    _mailer.SendPasswordResetAsync(user);
                } catch (Exception ex) {
                    ModelState.AddModelError("", "Unable to send password reset email.");
                    ex.ToExceptionless().SetUserEmail(model.EmailAddress).Submit();

                    return(View());
                }

                ViewBag.EmailSent = true;

                return(View());
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }