博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过邮件发送验证码来修改密码
阅读量:6908 次
发布时间:2019-06-27

本文共 1459 字,大约阅读时间需要 4 分钟。

平时我们上网登录系统是忘记密码,用邮件找回密码,我就在下面自己做了一个用邮件找回密码的小程序:

1、目的:通过用户发送验证码到邮箱,用户登录邮箱后查看验证码(有效期30分钟),输入验证码后可修改密码

2、数据库设计:用户表的关键字段:UserId,UserPass,RandomText,LastSendRandomTime,Email.

3、解决思路:

(1)用户输入邮箱地址(Email,根据用户编号(UserId)判断用户输入的邮箱是否正确,若正确,则将系统生成的验证码(RandomText)、当前发送时间写入用户表的RandomText、LastSendRandomTime字段中,并将验证码发送到用户的邮箱中

(2)当用户输入验证码时,首先判断当前时间与上一次发送验证码的时间间隔,若小于一定的时间,则判断输入的验证码与数据库写入的验证码是否一致,一致则转向修改密码页面

关键代码:

发送邮件:

 #region   发送邮件(引用命名空间Mail)

     /// <summary>
     /// 发送邮件找回密码
     /// </summary>
     /// <param name="Email">用户邮箱</param>
     /// <param name="RanDom">6位数字随机码</param>
     public static void SendEmail(string Email, string RanDom, string Name)
     {
         MailMessage mail = new MailMessage();
         mail.To.Add(new MailAddress(Email));
         mail.Subject = "作业在线找回密码";
         mail.SubjectEncoding = System.Text.Encoding.UTF8;
         mail.Body = "尊敬的用户:" + Name + ".作业在线系统找回密码给你发的验证码是:" + RanDom + ".该验证码有效时间为30分钟,请注意自己的帐号安全,不要外泄密码!!";
         mail.BodyEncoding = System.Text.Encoding.UTF8;
         mail.IsBodyHtml = true;
         mail.Priority = MailPriority.High;
         SmtpClient smtpclient = new SmtpClient();
         smtpclient.UseDefaultCredentials = true;
         string EmailClass = Email.Substring(Email.LastIndexOf());
         smtpclient.Host = "smtp" + EmailClass;
         mail.From = new MailAddress("发送邮件的邮箱地址");
         smtpclient.Credentials = new System.Net.NetworkCredential("发送邮件的邮箱地址", "密码");

        smtpclient.Send(mail);               

     }

     #endregion

时间间隔:

                   TimeSpan Ts1 = new TimeSpan(DateTime.Now.Ticks);

                    TimeSpan Ts2 = new TimeSpan(Dtime.Ticks);
                    double DiffTime = Ts2.Subtract(Ts1).Minutes;

转载地址:http://hewcl.baihongyu.com/

你可能感兴趣的文章
Interop:云计算概念混淆现象将继续存在
查看>>
企业移动化安全要先行
查看>>
行业观察:这是一个“认知优先”世界
查看>>
新华网与阿里合资创立云计算公司
查看>>
全闪数据中心的数据缩减攻略
查看>>
中国首次实现超400公里的抗黑客攻击量子密钥分发
查看>>
Fuchsia对Android到底意味着什么?
查看>>
联想大数据企业级分析平台(LEAP)通过数据中心联盟认证
查看>>
苹果会开放iOS操作系统吗?30年前已错过一次
查看>>
融合数据保护产品评估三要素
查看>>
Qunar用户画像构建策略及应用实践
查看>>
话说数据中心里的新IP技术
查看>>
PHP7曝出三个高危0-day漏洞,还有一个仍未修复
查看>>
React Native Ubuntu简介
查看>>
透过“虚火”洞悉物联网的价值
查看>>
大数据和学生创业有什么关系
查看>>
视频点播播放器如何实现加密下载?
查看>>
Facebook将推“市场”功能:用户可相互买卖东西
查看>>
俄国防部组建信息作战部队 应对西方网络-心理攻击
查看>>
《Android应用开发攻略》——第2章 设计成功的应用程序 2.1 导言:设计成功的Android应用程序...
查看>>