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; } }