public ActionResult ConfirmMail([Bind(Exclude = "AuthCode")] string uid, UserInfo userinfo) { try { using (System.Transactions.TransactionScope transaction = new System.Transactions.TransactionScope()) { userinfo = db.UserInfo.FirstOrDefault(p => p.Uid == uid); userinfo.Email = Request["newmail"]; userinfo.AuthCode = Guid.NewGuid().ToString(); UpdateModel(userinfo); db.SubmitChanges(); System.Net.Mail.SmtpClient sc = new System.Net.Mail.SmtpClient("smtp.qq.com", 25); sc.Credentials = new System.Net.NetworkCredential("342354548", "0oO0oO"); sc.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; string verify_url = new Uri(Request.Url, System.Web.Routing.RouteTable.Routes.GetVirtualPath (Request.RequestContext, new System.Web.Routing.RouteValueDictionary (new { action = "Verify", authCode = userinfo.AuthCode })).VirtualPath).AbsoluteUri; sc.Send("*****@*****.**", userinfo.Email, "会员注册确认信", verify_url); transaction.Complete(); } Session["CurrentUser"] = null; return Content("验证邮件已发出,请验证后重新登录!"); } catch (Exception ex) { ex.ToString(); return Content("验证邮箱不存在,请重新填写!"); } }
partial void DeleteUserInfo(UserInfo instance);
partial void UpdateUserInfo(UserInfo instance);
partial void InsertUserInfo(UserInfo instance);
public ActionResult Register([Bind(Exclude = "ID,IsAdmin,AuthCode,CreateTime")] FormCollection formcollection) { UserInfo userinfo=new UserInfo(); userinfo.Uid = formcollection["username"]; userinfo.Password = formcollection["password"]; userinfo.Uname = formcollection["nickname"]; userinfo.Email = formcollection["email"]; userinfo.Photo = formcollection["selectbox"]; try { using (TianLaiDBDataContext db = new TianLaiDBDataContext()) { //检查账户是否重复 if (db.UserInfo.Where(p => p.Uid == userinfo.Uid).FirstOrDefault() != null) { ViewData["unameconfirm"] = "<label style='color:Red'>用户名重复,请重新输入</label>"; return View(userinfo); } using (System.Transactions.TransactionScope transaction = new System.Transactions.TransactionScope()) { //指定已排除的默认值 userinfo.IsAdmin = false; userinfo.AuthCode = Guid.NewGuid().ToString(); userinfo.Password = HashPassword(userinfo.Password); userinfo.Createdata = DateTime.Now; //将数据保存至数据库 db.UserInfo.InsertOnSubmit(userinfo); db.SubmitChanges(); System.Net.Mail.SmtpClient sc = new System.Net.Mail.SmtpClient("smtp.qq.com", 25); sc.Credentials = new System.Net.NetworkCredential("342354548", "0oO0oO"); sc.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; string verify_url = new Uri(Request.Url, System.Web.Routing.RouteTable.Routes.GetVirtualPath (Request.RequestContext, new System.Web.Routing.RouteValueDictionary (new { action = "Verify", authCode = userinfo.AuthCode })).VirtualPath).AbsoluteUri; sc.Send("*****@*****.**", userinfo.Email, "会员注册确认信", verify_url); transaction.Complete(); } } } catch (System.Net.Mail.SmtpException) { ModelState.AddModelError("Email", "很抱歉!系统发生异常,目前无法寄送确认信,请稍候再试!"); return View(userinfo); } return Content("注册信息已发出,请登录邮箱验证!"); }