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"); } }
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("状态未改变,未激活"); } } } }