就像这个csdn论坛注册用户的时候会发送一个激活地址到你的邮箱。点击激活才能登录。
  这个功能是怎么实现的,有Demo那就最好不过了,小弟在此谢过!
 思路也行。 还有激活代码的URL代码生成思路

解决方案 »

  1.   


    public class User
    {
       public boolean Actived; //加个是否已激活的判断
    }public void Login()

       User user = GetUserByLoginNameAndPwd();
       if(!user.Actived) return; //登陆时判断下
    }//构造激活代码的url,里边用一个加密之类的,激活记录存入数据库,作好时间限制,比如限一内激活
    public String BuidUrlOfAcitve()
    {
       //TODO:
       return String.Format("http://www.abc.com//activeUser.aspx?msg={0}",BuildEncryptMsg()); 
    }public String BuildEncryptMsg(Int32 userId)
    {
       //TODO:用可以解密的加密方式构造
    }//acitveUser.aspx页面需要解密
    public DecryptActiveMsg()
    {
       //解密加密后的激活参数
    }
      

  2.   

    比如加密的msg中包括 userId,activeRecordId
      

  3.   

    注册是一个页面,验证是另一个页面,URL可采用BASE64编码
    当用户点击激活链接时通过UrL的参数来判断,编码后的URL相对安全。
      

  4.   

    ContentType = "text/html";  
    public void MailSend(string MailFrom,string MailTo,string MailPwd,string Mailtitle,string MailCon)  
    {  
    MailMessage MyMail = new MailMessage();  
    MyMail.From = new MailAddress("", "");  
    MyMail.To.Add(new MailAddress(""));  
    MyMail.Subject = Mailtitle;  
    MyMail.Body = MailCon;  
    MyMail.IsBodyHtml = true;  
    SmtpClient smtpclient = new SmtpClient();  
    smtpclient.DeliveryMethod = SmtpDeliveryMethod.Network;  
    smtpclient.Host = "";  
    smtpclient.Credentials = new System.Net.NetworkCredential(MailFrom, MailPwd);  
    smtpclient.Send(MyMail);  
    }  
    将url的参数加密。 然后再指定的页面获取 url参数