马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

asp.net注册发送邮件并激活

  [复制链接]
查看25827 | 回复48 | 2014-11-4 09:17:07 | 显示全部楼层 |阅读模式
现在最常用就是用户注册时发送个邮件,用户点击时进行激活,毕竟对个人来说注册发送手机短信比较浪费钱。

首先,数据库应该是这样的。

asp.net注册发送邮件并激活

asp.net注册发送邮件并激活


State为用户状态  0为禁用  1为可用  默认为0,下面有个UserGUID,这个字段将来用于激活账户


你要写一个表单,验证码神马的,这个我就不写了。。直接写处理的 代码在下面




[C#] 纯文本查看 复制代码
if (IsPostBack)
            {
                string userName = Request["UserName"];
                string userPwd = Request["UserPwd"];
                string userEmail = Request["UserEmail"];
                string EmailGUID = Guid.NewGuid().ToString();
             
                //UserInfosEntities
                if (CheckValidCode())
                {
                    if (InsertUserInfo(new userinfo()
                    {
                        UserName = userName,
                        UserPwd = userPwd,
                        State = 0,
                        UserEmail = userEmail,
                        UserGUID = EmailGUID
                        
                    }))
                    {
                        
                        string str = Request.ServerVariables["Http_Host"];           //这句话的意思是获取域名和端口,因为我是在本机调试的,要是重新生成的话端口就改了  - - 我很郁闷 ...这是大神告诉我的...
                        MailMessage mailMsg = new MailMessage();                         //要引入System.Net这个Assembly
                        mailMsg.From = new MailAddress("[url=mailto:ibcadmin@ibcibc.com]ibcadmin@ibcibc.com[/url]", "自己的名字"); //源邮件地址 
                        mailMsg.To.Add(new MailAddress(userEmail, "对方的名字"));         //目的邮件地址。可以有多个收件人
                        mailMsg.Subject = "激活帐号";                                     //发送邮件的标题 
                        userName = Common.Base64.EncodeBase64(Encoding.UTF8, userName);    //这个是把传去的名字转换成base64的,我试过Encoding,不行,找了好久,中文一直乱码,只好把它转成这个样子了。。
                        string emailStr 
                = string.Format("单击以下激活链接,激活帐号[url=http://{0}/ActivUserInfo.aspx?UserName={1}&GUID={2}]http://{0}/ActivUserInfo.aspx?UserName={1}&GUID={2}",str,userName,EmailGUID[/url]);                  //这个就是将来发到邮箱里面的激活链接
                        mailMsg.Body = emailStr;                                      //发送邮件的内容 
                        mailMsg.IsBodyHtml = true;                      //内容是否是HTML
                        mailMsg.BodyEncoding = Encoding.UTF8;                //编码格式为UTF-8
                        SmtpClient client = new SmtpClient("smtp.qq.com");            // 发件人所使用邮箱的SMTP服务器地址。  
                        client.Credentials = new NetworkCredential("发送邮件的帐号", "发送邮件的密码"); //发件人邮箱的用户名和密码.
                        client.Send(mailMsg);                        //发送邮件
                        Response.Redirect("/Admin.aspx");
                    }
                    else
                    {
                        Response.Redirect("/Login.aspx");
                    
                    }

                }
                else
                {
                    Message = "验证码输入错误,请重新输入!!!";
                }

下面隐藏部分是如何激活链接
回复后请手动刷新界面,才能出来代码效果!

游客,如果您要查看本帖隐藏内容请回复

C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
zxczxc123 | 2014-11-4 09:19:52 | 显示全部楼层
还有隐藏内容啊
飞/可爱朋 | 2014-11-4 09:22:06 | 显示全部楼层
桂林一枝花 | 2014-11-4 09:22:31 | 显示全部楼层
强势围观
飞/可爱朋 | 2014-11-4 09:24:05 | 显示全部楼层
soga
yikaixin456 | 2014-11-4 09:31:02 | 显示全部楼层
火速围观
OSdance | 2014-11-4 09:51:57 | 显示全部楼层
围观
韠麣龘龘爨矲鼶 | 2014-11-4 10:57:09 | 显示全部楼层
我了个擦
小磊 | 2014-11-6 11:43:54 | 显示全部楼层
楼主不错 顶你
tonysso | 2014-11-14 15:56:24 | 显示全部楼层
Thx for teaching
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则