前台代码
@model UserSys.Models.UC_User
<h2>注册</h2>
<div id="register">
@using (Html.BeginForm("Register", "User", FormMethod.Post)) {
<div class="form-group">
@Html.TextBoxFor(M => M.UserName, new { @class = "form-control", placeholder = "用户名" })
</div>
<div class="form-group">
@Html.TextBoxFor(M => M.UserNickName, new { @class = "form-control", placeholder = "用户昵称" })
</div>
<div class="form-group">
@Html.TextBoxFor(M => M.DateOfBirth, new { @class = "form-control", placeholder = "出生年月" })
</div>
<div class="form-group">
@Html.TextBoxFor(M => M.EMailAddress, new { @class = "form-control", placeholder = "邮箱地址" })
</div>
<div class="form-group">
<button type="button" class="btn" onclick="getNum()">获取激活码</button>
</div>
<div class="form-group">
@Html.TextBoxFor(M => M.CDKEY, new { @class = "form-control", placeholder = "激活码"})<span id="Msg"></span>
@Html.ValidationMessageFor(M => M.CDKEY)
</div>
<button type="submit" class="btn btn-primary" >注册</button>
}
</div>
@section scripts{
<script>
function getNum() {
var em = $("#EMailAddress").val();
$.ajax({
url: "/User/SendMail",
type: "POST",
dataType: "text",
data: {
email:em
},
success: function (data) {
alert('发送成功');
}
});
}
</script>
}
后台代码
public class UserController : Controller {
public ActionResult Register() {
return View();
}
[HttpPost]
public ActionResult Register(UC_User uc_User) {
if (ModelState.IsValid) {
uc_User.CreateOn = DateTime.Now;
try {
using (var db = new UserModel()) {
if (Uitl.CheckValidationLog(uc_User)) {
if (Uitl.CheckUserName(uc_User)) {
db.UC_User.Add(uc_User);
db.SaveChanges();
return Content("<script>alert('注册成功')</script>");
}
else {
return Content("<script>alert('此用户名已存在')</script>");
}
}
else {
return Content("<script>alert('激活码已被使用')</script>");
}
}
}
catch (Exception e) {
return Content($"<script>alert('{e.Message}')</script>");
}
}
return View();
}
}
后台请求邮箱方法
[HttpPost]
public string SendMail(string email) {
string str=Uitl.GetNum().ToString();
UC_ValidationLog uC_Validation = new UC_ValidationLog();
uC_Validation.GetCDKEY = str;
uC_Validation.ZhuangTai = false;
uC_Validation.Timer = DateTime.Now;
using (var db=new UserModel()) {
db.UC_ValidationLog.Add(uC_Validation);
db.SaveChanges();
}
MailMessage msg = new MailMessage();
msg.To.Add(email);
msg.From = new MailAddress("*****@163.com", "**先生", System.Text.Encoding.UTF8);
msg.Subject = "激活码";
msg.SubjectEncoding = System.Text.Encoding.UTF8;
msg.Body = "验证码为:"+str;
msg.BodyEncoding = System.Text.Encoding.UTF8;
msg.IsBodyHtml = false;
msg.Priority = MailPriority.High;
SmtpClient client = new SmtpClient();
client.Credentials = new System.Net.NetworkCredential("******@163.com", "这里是授权码或者密码");
client.Host = "smtp.163.com";
try {
client.Send(msg);
return str;
}
catch (System.Net.Mail.SmtpException ex) {
return ex.Message;
}
}