Exemplo n.º 1
0
        public ActionResult ForgotPassword(ForgotPasswordViewModel model)
        {
            if (ModelState.IsValid)
            {
                var valid = db.ResetPassword(model.Username, model.Email).FirstOrDefault();
                if (valid.ReturnCode == 1)
                {
                    User user = db.Users.Where(e => e.Email == model.Email && e.Username == model.Username).FirstOrDefault();
                    // MailMessage class is present is System.Net.Mail namespace
                    MailMessage mailMessage = new MailMessage("*****@*****.**", user.Email);

                    // StringBuilder class is present in System.Text namespace
                    StringBuilder sbEmailBody = new StringBuilder();
                    sbEmailBody.Append("Dear " + user.FirstName + ",<br/><br/>");
                    sbEmailBody.Append("Please click on the following link to reset your password.");
                    sbEmailBody.Append("<br/>"); sbEmailBody.Append("https://dare.local.net/Account/ChangePasswordUnauthenticated?uid=" + valid.UniqueId);
                    sbEmailBody.Append("<br/><br/>");
                    sbEmailBody.Append("<b>DARE System</b>");

                    mailMessage.IsBodyHtml = true;

                    mailMessage.Body    = sbEmailBody.ToString();
                    mailMessage.Subject = "Reset Your Password";
                    SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);

                    smtpClient.Credentials = new System.Net.NetworkCredential()
                    {
                        UserName = "******",
                        Password = "******"
                    };

                    smtpClient.EnableSsl = true;
                    smtpClient.Send(mailMessage);
                    return(View("ForgotPasswordConfirmation"));
                }
                else
                {
                    return(View("ForgotPasswordConfirmation"));
                }
            }
            else
            {
                return(View("ForgotPasswordConfirmation"));
            }
        }