• asp.net mvc 注册中的邮箱激活功能实现


    • 基本流程图

    • 注册页面就不再写出,现在将发送邮件的代码粘贴出来
    复制代码
     
    public ActionResult SendEmial()
            {
                int customerID= 1;
                string validataCode = System.Guid.NewGuid().ToString();
                try { 
                    System.Net.Mail.MailAddress from = new System.Net.Mail.MailAddress(xxxxxxxx@163.com, "wode"); //填写电子邮件地址,和显示名称
                    System.Net.Mail.MailAddress to = new System.Net.Mail.MailAddress(xxxxx@qq.com, "nide"); //填写邮件的收件人地址和名称
                    //设置好发送地址,和接收地址,接收地址可以是多个
                    System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(); 
                    mail.From = from;
                    mail.To.Add(to);
                    mail.Subject = "主题内容";
                 
                    System.Text.StringBuilder strBody = new System.Text.StringBuilder();
                    strBody.Append("点击下面链接激活账号,48小时生效,否则重新注册账号,链接只能使用一次,请尽快激活!</br>");
                    strBody.Append("<a href='http://localhost:3210/Order/ActivePage?customerID=" + customerID+ "&validataCode =" + validataCode + "'>点击这里</a></br>");
    
                    mail.Body = strBody.ToString();
                    mail.IsBodyHtml = true;//设置显示htmls
                    //设置好发送邮件服务地址
                    System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
                    client.Host = "smtp.163.com";
                    //填写服务器地址相关的用户名和密码信息
                    client.Credentials = new System.Net.NetworkCredential("xxxxxxxx@163.com", "xxxxxx");
                    //发送邮件
                    client.Send(mail);
                }
                catch {}
    
                return new EmptyResult();
            }
     
    复制代码

    说明:

    1. 填写服务器地址相关的用户名和密码信息  client.Credentials = new System.Net.NetworkCredential("xxxxxxxx@163.com", "xxxxxx");
      这个需要填写发件方的邮箱名和密码
    2. 此处发送的邮件内容不会显示出来链接的地址信息,只会以超链接的方式存在,效果如图所示:

            3.  验证码是否有效分为两种情况:1.验证是否在规定时间内,激活链接;2.验证码和数据库中保存的是否相同

    • 实现思路:
    1. 页面需要三个页面:1.注册页面;2.激活页面;3.失败页面。
    2. 数据库表中添加一个激活的状态字段-11 (-1为未激活,1未激活),在添加一个验证码字段validateCode,最后在添加一个注册时间字段registeredDate
    3. 程序中,注册页面添加注册信息,随机生成注册验证码(GUID)添加到数据库中,把用户id验证码作为参数发送到邮箱中
    4. 因为用的是asp.net mvc 所以不需要自己写代码获取url中的参数,action 中的参数只要和url 中的对应就行了,action会帮我们自动的获取url 中的参数信息
    5. 通过action 中的参数信息查询数据库,判断是否可以激活注册信息
  • 相关阅读:
    询问给定图中树的棵数
    题目1365:贝多芬第九交响曲
    题目1463:招聘会
    九度 题目1395:爱钱的胡老板
    HDU 4666 Hyperspace && POJ 2926 Requirements
    九度 题目1493:公约数
    九度 题目1523:从上往下打印二叉树 题目1521:二叉树的镜像
    iOS CoreBluetooth 教程 蓝牙
    点击推送,跳转到查看推送消息的页面
    学习ios蓝牙技术,仿写lightblue
  • 原文地址:https://www.cnblogs.com/zzqvq/p/5814475.html
Copyright © 2020-2023  润新知