elper.WriteJson(context.Response,"error","验证码错误");
CommonHelper.ResetValidCode(context);
return;
}
T_UsersBLL userBll = new T_UsersBLL();
if (!userBll.CheckUserNameOnReg(username))
{
AjaxHelper.WriteJson(context.Response,"error","当前用户不可用");
return;
}
if (!userBll.CheckEmailOnReg(email))
{
AjaxHelper.WriteJson(context.Response,"error","该邮箱已被注册!");
return;
}
//插入数据库(T_Users)
long userId = userBll.AddNewUser(username, password, email,phone,qq,school);
//激活码
Random rand = new Random();
string activeCode = rand.Next(10000,99999).ToString();
//方案一:把激活码存入到数据库(T_UserActiveCodes)
T_UserActiveCodes userActiveCode = new T_UserActiveCodes();
userActiveCode.UserName = username;
userActiveCode.RegDateTime = DateTime.Now;
userActiveCode.ActiveCode = activeCode;
//插入到激活码数据表中
new T_UserActiveCodesBLL().Add(userActiveCode);
//邮件链接和正文
string activeUrl = "http://localhost:22585/UserController.ashx?action=active&username=" + context.Server.UrlEncode(username) + "&activeCode=" + activeCode;
string emailBody = "尊敬的" + username + "您好,请点击下面的链接激活您的账户"
+ "<a href='" + activeUrl + "'>点击此链接激活您的账号</a>,如果链接打不开,则把下面的地址复制到浏览器中进行激活:" + activeUrl;
//发送邮件
FrontHelper.SendEmail(email,"请激活您的***账号",emailBody);
/*
* 测试了网易和qq邮箱,能发是能发但是,对所发的邮件标题和内容是有限制的,不能发很容就能识别出来是垃圾邮件的邮件,标题和正文要正式点,负责不会接收到。
* 在生产环境中:无法使用163、qq等这种免费邮箱发送大量的邮件。
* Edm专用服务器,掏钱就ok。
SendCloud、Comm100、yiye
*/
邮件发送代码:
public static void SendEmail(string toEmail, string subject, string body)
{
&nbs