当前位置:编程学习 > C#/ASP.NET >>

ASP.NET实现注册时发送激活

就是像CSDN注册时有个要到邮箱激活的么!

这个要怎么实现啊! --------------------编程问答-------------------- 在创建一个用户时生成一个标识,将带有标识的地址“ www.xxx.com?xx=标识” 发送到用户提供的邮箱 

用户打开了这个地址后  后台取得 标识  判定激活。

--------------------编程问答-------------------- 发送链接地址到邮箱 地址带个生成好的参数 点击返回页面 取得参数 后台判断 激活 --------------------编程问答-------------------- 路径参数中包含加密的信息。
用户名 时间段。。。。 --------------------编程问答-------------------- 通过一个激活链接 去更爱注册用户的状态 --------------------编程问答-------------------- 注册的时侯,生成一个guid,给用户一个连接
例如:checkemail.aspx?email=xxx&guid=xxx
这个页面检测email和guid的对应关系,如果对了,就验证通过 --------------------编程问答-------------------- 原理就是在注册的时候,随机生成一个字符串保存到数据库里

然后发邮件,在邮件里有个链接,点击链接激活,就如楼上几位说的

最后附一段发邮件的代码吧,自己研究研究吧

/// <summary>
        /// 
        /// </summary>
        /// <param name="strSmtpServer">SMTP</param>
        /// <param name="port">SMTP端口号</param>
        /// <param name="strFrom">发信箱地址</param>
        /// <param name="strFromPass">发信箱密码</param>
        /// <param name="strto">收信箱</param>
        /// <param name="strSubject">主题</param>
        /// <param name="strBody">邮件正文</param>
        /// <param name="ssl">是否采用SSL</param>
        public static void SendMail(string strSmtpServer, int port, string strFrom, string strFromPass, string strto, string strSubject, string strBody,bool ssl)
        {
            System.Net.Mail.SmtpClient client = new SmtpClient(strSmtpServer, port);
            client.EnableSsl = ssl;
            client.UseDefaultCredentials = false;
            client.Credentials = new System.Net.NetworkCredential(strFrom, strFromPass);
            client.DeliveryMethod = SmtpDeliveryMethod.Network;

            System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(strFrom, strto, strSubject, strBody);
            message.BodyEncoding = System.Text.Encoding.UTF8;
            message.IsBodyHtml = true;
            client.Send(message);
        }

        /// <summary>
        /// 发送Jmail邮件
        /// </summary>
        /// <param name="strSmtpServer"></param>
        /// <param name="strFrom"></param>
        /// <param name="strFromUser"></param>
        /// <param name="strFromPass"></param>
        /// <param name="strto"></param>
        /// <param name="strSubject"></param>
        /// <param name="strBody"></param>
        public static void SendJmailMail(string strSmtpServer, string strFrom, string strFromUser, string strFromPass, string strto, string strSubject, string strBody)
        {
            jmail.Message jmMessage = new jmail.Message();
            jmMessage.Silent = true;
            jmMessage.Logging = true;
            jmMessage.Charset = "GB2312";
            jmMessage.ContentType = "text/html";
            jmMessage.ISOEncodeHeaders = false;
            jmMessage.From = strFrom;
            jmMessage.FromName = strFrom;
            jmMessage.MailServerUserName = strFromUser;
            jmMessage.MailServerPassWord = strFromPass;
            jmMessage.Subject = strSubject;
            jmMessage.Body = strBody;
            jmMessage.AddRecipient(strto, "", "");
            jmMessage.Send(strSmtpServer, false);  

        }
--------------------编程问答-------------------- 自己写一个邮件发送的类,注册好之后发送邮件到用户信箱咯 --------------------编程问答-------------------- 方法都差不多,会员表有个状态字段判断是否是已激活的会员。
用户注册成功时。发送邮件,内容带上注册会员的id,当会员点击链接时,修改激活字段。 --------------------编程问答-------------------- 发送激活连接给注册的邮箱,链接中的参数要加密。
通过链接的请求参数激活用户
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,