Ejemplo n.º 1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        RegisterBLL registerbll = new RegisterBLL();
        string      str_mail    = Request.Form["email"].ToString();//传入用户输入的邮箱
        //string str_mail = "*****@*****.**";//测试用户输入的邮箱
        DataSet ds_user = registerbll.getUserByUserMail(str_mail);

        if (ds_user.Tables[0].Rows.Count > 0)  //注册过此邮箱
        {
            string strSmtpServer = "smtp.qq.com";
            string strFrom       = "*****@*****.**";
            string strFromPass   = "******";

            string strto      = str_mail;
            string strto_mi   = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strto, "md5");
            string strSubject = "TimeFlow重置密码";
            System.Text.StringBuilder strBody = new System.Text.StringBuilder();
            strBody.Append("你好,我们收到了一个重置你 TimeFlow 账户密码的请求,请点击下面的链接重置密码</br>");
            strBody.Append("<a href='http://localhost:10259/reset_2.html?userMail=" + strto_mi + "'>点击这里</a></br>");
            strBody.Append("如未能反应请点击下面链接:<a href='http://localhost:10259/reset_2.html?userMail=" + strto_mi + "'>http://localhost:10259/reset_2.html?userMail=" + strto_mi + "</a></br>");
            SendSMTPEMail(strSmtpServer, strFrom, strFromPass, strto, strSubject, strBody.ToString());
            Response.Write("success");
        }
        else
        {
            Response.Write("not_exist");
        }
    }
Ejemplo n.º 2
0
    public void operateLink(string userMail, string validateCode)
    {
        RegisterBLL regbll = new RegisterBLL();

        Client myUser = new Client();

        myUser.Mail = userMail;

        DataSet ds_user = regbll.getUserByUserMail(userMail);

        if (ds_user.Tables[0].Rows.Count == 0)
        {
            Response.Write("该注册信息已不存在,验证失败");
        }
        else
        {
            //验证过期
            DateTime ZCTime  = Convert.ToDateTime(ds_user.Tables[0].Rows[0]["addData"]);
            DateTime NowTime = DateTime.Now;

            TimeSpan time1 = new TimeSpan(ZCTime.Ticks);
            TimeSpan time2 = new TimeSpan(NowTime.Ticks);

            string diff = time2.Subtract(time1).TotalHours.ToString();
            double time = Convert.ToDouble(diff);

            //验证是否过期
            if (time > 12)
            {
                Response.Write("验证码已经过期,验证失败");
                return;
            }
            //验证链接是否用过
            if (ds_user.Tables[0].Rows[0]["validateCode"].ToString() == "")
            {
                Response.Write("已经验证过了,请返回到登录页面,登录体验吧");
                return;
            }
            //验证激活账号,修改账号状态
            if (validateCode == ds_user.Tables[0].Rows[0]["validateCode"].ToString())
            {
                int update = regbll.updateValidateCode(myUser);
                if (update == 1)                          //验证成功并且修改数据库用户状态
                {
                    Response.Write("验证成功,请返回到登录页面,登录体验吧");
                }
                else
                {
                    Response.Write("状态未改变,未激活");
                }
            }
        }
    }