YouConf.Mailers.UserMailer.PasswordReset C# (CSharp) Method

PasswordReset() public method

public PasswordReset ( string email, string username, string token ) : Mvc.Mailer.MvcMailMessage
email string
username string
token string
return Mvc.Mailer.MvcMailMessage
        public virtual MvcMailMessage PasswordReset(string email, string username, string token)
        {
            ViewBag.Token = token;
            ViewBag.Username = username;
            return Populate(x =>
            {
                x.Subject = "Reset your password";
                x.ViewName = "PasswordReset";
            });
        }

Usage Example

示例#1
0
        public virtual ActionResult ForgotPassword(string email, bool captchaValid, string captchaErrorMessage)
        {
            if (!captchaValid)
            {
                ModelState.AddModelError("captcha", captchaErrorMessage);
            }

            if (ModelState.IsValid)
            {
                var user = YouConfDbContext.UserProfiles
                    .FirstOrDefault(x => x.Email == email);

                if (user != null && user.UserId > 0 && OAuthWebSecurity.HasLocalAccount(user.UserId))
                {
                    string token = WebSecurity.GeneratePasswordResetToken(user.UserName);

                    //Send them an email
                    UserMailer mailer = new UserMailer();
                    var mvcMailMessage = mailer.PasswordReset(user.Email, user.UserName, token);
                    var emailMessage = new SendEmailMessage()
                    {
                        Body = mvcMailMessage.Body,
                        To = user.Email,
                        Subject = "Password reset request"
                    };
                    SendQueueMessage(emailMessage);

                    return View("PasswordResetEmailSent");
                }
            }
            return View();
        }