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) > )
{
Response.Write("<script>alert('注册成功')</script>");
}
}

发送验证码

   public int  Mail1(string Txt)
{
int n = ;
string yanzheng = string.Empty;
MailMessage mailMessage = new MailMessage();
//发件人邮箱地址,方法重载不同,可以根据需求自行选择。
mailMessage.From = new MailAddress("发件人邮箱");
//收件人邮箱地址。
mailMessage.To.Add(new MailAddress(Txt));
//邮件标题。
mailMessage.Subject = "这是你的验证码";
string verificationcode = createrandom();
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("发件人邮箱", "邮箱授权码");
Session["yzm"] = yanzheng;
//发送 client.Send(mailMessage);
return n; }
//生成6位数字和大写字母的验证码
private string createrandom(int codelengh)
{
int rep = ;
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 = ; i < codelengh; i++)
{
char ch;
int num = random.Next();
if ((num % ) == )
{
ch = (char)(0x30 + ((ushort)(num % )));
}
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 > ) {
alert("验证码发送成功");
}
else {
alert("邮箱不存在"); }
}
});
}
</script>

MVC邮箱验证的更多相关文章

  1. MVC 数据验证

    MVC 数据验证 前一篇说了MVC数据验证的例子,这次来详细说说各种各样的验证注解.System.ComponentModel.DataAnnotations 一.基础特性 一.Required 必填 ...

  2. 我只知道一点非常简单的关于MVC的验证

    我只知道一些非常简单的关于MVC的验证 如题,我只知道一点非常简单的关于MVC的验证,所以如果您接触过MVC的验证,相信也就不用看了,这个且当作是学习笔记吧. 先小讲解一下他基本的五个从Model里打 ...

  3. MVC的验证(模型注解和非侵入式脚本的结合使用) .Net中初探Redis .net通过代码发送邮件 Log4net (Log for .net) 使用GDI技术创建ASP.NET验证码 Razor模板引擎 (RazorEngine) .Net程序员应该掌握的正则表达式

    MVC的验证(模型注解和非侵入式脚本的结合使用)   @HtmlHrlper方式创建的标签,会自动生成一些属性,其中一些属性就是关于验证 如图示例: 模型注解 通过模型注解后,MVC的验证,包括前台客 ...

  4. ASP.NET MVC Model验证(五)

    ASP.NET MVC Model验证(五) 前言 上篇主要讲解ModelValidatorProvider 和ModelValidator两种类型的自定义实现, 然而在MVC框架中还给我们提供了其它 ...

  5. ASP.NET MVC Model验证(四)

    ASP.NET MVC Model验证(四) 前言 本篇主要讲解ModelValidatorProvider 和ModelValidator两种类型的自定义实现,前者是Model验证提供程序,而Mod ...

  6. ASP.NET MVC Model验证(三)

    ASP.NET MVC Model验证(三) 前言 上篇中说到在MVC框架中默认的Model验证是在哪里验证的,还讲到DefaultModelBinder类型的内部执行的示意图,让大家可以看到默认的M ...

  7. ASP.NET MVC Model验证(二)

    ASP.NET MVC Model验证(二) 前言 上篇内容演示了一个简单的Model验证示例,然后在文中提及到Model验证在MVC框架中默认所处的位置在哪?本篇就是来解决这个问题的,并且会描述一下 ...

  8. ASP.NET MVC Model验证(一)

    ASP.NET MVC Model验证(一) 前言 前面对于Model绑定部分作了大概的介绍,从这章开始就进入Model验证部分了,这个实际上是一个系列的Model的绑定往往都是伴随着验证的.也会在后 ...

  9. ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

    在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图.但是首先将修改点代码,使得发布日期属性(ReleaseDate)看上去更好.打开Models \ Movie ...

随机推荐

  1. Tomcat系列(一)- 整体架构

    整体架构 我们想要了解一个框架,首先要了解它是干什么的,Tomcat我们都知道,是用于处理连接过来的Socket请求的.那么Tomcat就会有两个功能: 对外处理连接,将收到的字节流转化为自己想要的R ...

  2. NLP标注工具brat 配置文件说明

    快速搭建brat 通过docker: docker run --name=brat -d -p 38080:80 -e BRAT_USERNAME=brat -e BRAT_PASSWORD=brat ...

  3. .Net Core控制台&EFCore连接Mysql

    在用惯了Asp.Net Core提供的基架后,反过来想一想,貌似忘记了控制台如何去连接数据库了,因此,写一篇文章来借此巩固下并以后再来回顾时,加快步骤. 1.新建一个.Net Core控制台,然后安装 ...

  4. 使用Advanced Installer打包工具如何设置是否安装预安装程序包

    要保证我们的程序能在目标机器上正常运行,便需要保证目标机器上提供了程序运行的必要组件. 而在使用Advanced Installer打包工具制作程序安装包时,我们可以通过配置“需求-运行环境-程序包- ...

  5. 内网渗透教程大纲v1.0

    内网渗透 ☉MS14-068(CVE-2014-6324)域控提权利用及原理解析 ☉域控权限提升PTH攻击 未完待续...

  6. sonar安装和使用

    安装 1. 从官网下载,https://www.sonarqube.org/downloads/ 2. 下载之前要看好要求,我安装的是7.6的版本,要求是jdk1.8,mysql 5.6 到8 ,我使 ...

  7. linux中关于权限的一些事

    权限这个东西对于初学者来说可能会有点陌生,不过不要紧,看完下面的讲解应该会对你有一定的帮助 权限rwx rwxrwxrwx  u     g    o         a r:可读      4 w: ...

  8. 1.Redux学习1,Redux

    Redux流程图如上: Action就是一条命令 Store顾名思义就是存储数据的, Reducers是一个回调函数用于处理数据,它处理完数据会返回给Store存储起来 基本流程就是:组件中用Stor ...

  9. Information Management System

    Information Management System 一.代码部分 #include <stdio.h> #include <stdlib.h> #include < ...

  10. web中状态码301和302的区别

    web中状态码301和302的区别 总的区别就是:302重定向只是暂时的重定向,搜索引擎会抓取新的内容而保留旧的地址,因为服务器返回302,所以,搜索搜索引擎认为新的网址是暂时的.而301重定向是永久 ...