在C#MVC项目中使用邮箱(验证码验证)

1.生成随机数

 /// <summary>
        /// 生成验证码
        /// </summary>
        /// <returns>验证码</returns>
        public static string code()
        {
            string vc = "";
            Random rNum = new Random();//随机生成类
            int num1 = rNum.Next(0, 9);//返回指定范围内的随机数
            int num2 = rNum.Next(0, 9);
            int num3 = rNum.Next(0, 9);
            int num4 = rNum.Next(0, 9);

            int[] nums = new int[4] { num1, num2, num3, num4 };
            for (int i = 0; i < nums.Length; i++)//循环添加四个随机生成数
            {
                vc += nums[i].ToString();
            }
            return vc;
        }

 

2.写一个发送邮箱的方法

/// <summary>
        /// 发送邮件的方法
        /// </summary>
        /// <param name="mailTo">要发送的邮箱</param>
        /// <param name="mailSubject">邮箱主题</param>
        /// <param name="mailContent">邮箱内容</param>
        /// <returns>返回发送邮箱的结果</returns>
        public static bool SendEmail(string mailTo, string mailSubject, string mailContent)
        {
            // 设置发送方的邮件信息,例如使用腾讯的smtp
            string smtpServer = "smtp.qq.com"; //SMTP服务器
            string mailFrom = "1714291837@qq.com"; //登陆用户名
            string userPassword = "xxx";//登陆密码,如果使用的是腾讯的 用的是授权码

            // 邮件服务设置
            SmtpClient smtpClient = new SmtpClient();
            smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
            smtpClient.Host = smtpServer; //指定SMTP服务器

            smtpClient.EnableSsl = true;
            smtpClient.UseDefaultCredentials = false;
            smtpClient.Credentials = new System.Net.NetworkCredential(mailFrom, userPassword);//用户名和密码

            // 发送邮件设置       
            MailMessage mailMessage = new MailMessage(mailFrom, mailTo); // 发送人和收件人
            mailMessage.Subject = mailSubject;//主题
            mailMessage.Body = mailContent;//内容
            mailMessage.BodyEncoding = Encoding.UTF8;//正文编码
            mailMessage.IsBodyHtml = true;//设置为HTML格式
            mailMessage.Priority = MailPriority.Low;//优先级
            try
            {
                smtpClient.Send(mailMessage); // 发送邮件
                return true;
            }
            catch (SmtpException ex)
            {
                return false;
            }
        }

 

3.使用邮箱

 //获取邮箱验证码(使用session要注意:在Global.asax里需要配置)
        public bool EmailCode(string Email)
        {
            //1.将验证码存给session
            HttpContext.Current.Session["ValidateYZMode"] = Email_Code.code();
            HttpContext.Current.Session["ValidateEmail"] = Email;
            //2.获取验证码、邮箱
            YzmCode = HttpContext.Current.Session["ValidateYZMode"].ToString();
            EmailYZCode = HttpContext.Current.Session["ValidateEmail"].ToString();
            string strBody = "嗨喽,终于等到您啦!<br/><br/>欢迎注册创客优选,您的验证码为:<span style=‘color:red;font-weight:bold;font-size:18px;‘>" + YzmCode + "</span><br/>(5分钟内有效)<br/><br/>工作人员不会向您索要密码、验证码等信息。如非本人操作,请联系创客优选客服或忽略本条信息。<br/><br/>";
            //3.发送邮箱
            bool result=Email_Code.SendEmail(Email, "创客优选", strBody);
            if (result == true)
            {
                return true;
            }else
            {
                return false;
            }
        }

 

在C#MVC项目中使用邮箱(验证码验证)

上一篇:LwIP的netconn API流程


下一篇:用户界面设计(1)- 窗体的分类