• MVC邮箱验证


    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("发件人邮箱");
                //收件人邮箱地址。
                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("发件人邮箱", "邮箱授权码");
                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>
  • 相关阅读:
    备份文件的时候,不想手敲日期时间。用这种方法
    bash 命令行自动补全
    windows 下创建虚拟conda 环境
    windows 下安装venv慢,更换国内豆瓣源
    下载某个链接100次
    Linux cached过高问题
    把一件事坚持30天
    java dump 内存分析
    微服务架构~白话
    Spring Boot自定义Redis缓存配置,保存value格式JSON字符串
  • 原文地址:https://www.cnblogs.com/l1999/p/11990471.html
Copyright © 2020-2023  润新知