post请求
[HttpPost]
public void Email(Models.Email m,string Txt)
{
if (Txt!= Session["yzm"].ToString())
{
Response.Write("<script>alter('验证码不对')</script>");
return;
}
string sql = $"insert into Yanzheng values('{m.Emaill}','{m.Pwd}')";
if (db.ExecuteNonQuery(sql) > 0)
{
Response.Write("<script>alert('注册成功')</script>");
}
}
发送验证码
public int Mail1(string Txt)
{
int n = 1;
string yanzheng = string.Empty;
MailMessage mailMessage = new MailMessage();
//发件人邮箱地址,方法重载不同,可以根据需求自行选择。
mailMessage.From = new MailAddress("yjl2240998120@163.com");
//收件人邮箱地址。
mailMessage.To.Add(new MailAddress(Txt));
//邮件标题。
mailMessage.Subject = "这是你的验证码";
string verificationcode = createrandom(6);
yanzheng = verificationcode;
//邮件内容。
mailMessage.Body = "你的验证码是" + verificationcode;
//实例化一个SmtpClient类。
SmtpClient client = new SmtpClient();
//在这里我使用的是qq邮箱,所以是smtp.qq.com,如果你使用的是126邮箱,那么就是smtp.126.com。
client.Host = "smtp.163.com";
//使用安全加密连接。
client.EnableSsl = true;
//不和请求一块发送。
client.UseDefaultCredentials = false;
//验证发件人身份(发件人的邮箱,邮箱里的生成授权码);
client.Credentials = new NetworkCredential("yjl2240998120@163.com", "jinli123");
Session["yzm"] = yanzheng;
//发送
client.Send(mailMessage);
return n;
}
//生成6位数字和大写字母的验证码
private string createrandom(int codelengh)
{
int rep = 0;
string str = string.Empty;
long num2 = DateTime.Now.Ticks + rep;
rep++;
Random random = new Random(((int)(((ulong)num2) & 0xffffffffL)) | ((int)(num2 >> rep)));
for (int i = 0; i < codelengh; i++)
{
char ch;
int num = random.Next();
if ((num % 2) == 0)
{
ch = (char)(0x30 + ((ushort)(num % 10)));
}
else
{
ch = (char)(0x41 + ((ushort)(num % 0x1a)));
}
str = str + ch.ToString();
}
return str;
}
aiax提交
<script>
function YanzMa() {
$.ajax({
url: "http://localhost:57125/Email/Mail1?Txt=" + $("#Text1").val(),
success: function (data) {
if (data > 0) {
alert("验证码发送成功");
}
else {
alert("邮箱不存在");
}
}
});
}
</script>