C# MVC的博客开发(三)注册

在做注册的时候博主遇到了个很坑爹的问题
那就是本地发送邮件正常可是搬运到阿里云服务器发送邮件就gg了查询了很久才知道阿里云默认是把25发送邮件端口给封了

也就是说放在阿里云服务器的发送邮件是无法以无ssl加密的方式发送的,必须通过ssl家里的465端口去发送邮件
然后我们调用封装好Mail类
Mail类下载地址:下载地址
发送邮件格式如下:

  string title = "博客账号激活";
  string MailContent = "您好,感谢您在我的博客注册帐户!激活帐户需要点击下面的链接:" + xxxx + "";
  Boolean r = Mail.WebSendEmail("发送给的邮箱号", "", title, MailContent);

当然在注册注册链接中需要一些字段我就没贴出来了,字段就在注册的时候生成的然后插入数据库,在他访问的时候去数据库取值判断字段值是否相同和时间是否过期,如果正确就给予账号激活,大致思路就是这样实际代码我就不贴出来了
当然在使用tx邮箱发送邮件的时候也需要注意一个问题那就是tx以前发送邮件的密码是独立密码现在改为授权码了,授权码在开启stmp的下面

全部的注册代码如下(部分数据链接不方便展示删除了):

  #region 注册
        //注册
        [ErrorHandler]
        public ActionResult Register(Entity.Member memeber, string vercode, string rePassword)
        {
            Entity.Alert alert = new Entity.Alert();
            if (IsPost)
            {
                string validateCode = Session["ValidateCode"].ToString();
                if (memeber.Password.Length<6||memeber.Password.Length>16)
                {
                    alert.status = 1;
                    alert.msg = "密码长度应该为6-16位";
                    return Json(alert, JsonRequestBehavior.AllowGet);

                }
                
                if (memeber.Password != rePassword)
                {
                    alert.status = 1;
                    alert.msg = "两次密码不一致";
                    return Json(alert, JsonRequestBehavior.AllowGet);

                }
                else
                {
                    if (vercode != validateCode)
                    {
                        alert.status = 1;
                        alert.msg = "人类验证失败";
                        return Json(alert, JsonRequestBehavior.AllowGet);

                    }
                    else
                    {
                        Entity.Member getEmail = Entity.Helper.Member.GetMemberByEmail(memeber.Email);
                        if (getEmail != null)
                        {
                            alert.status = 1;
                            alert.msg = "该邮箱已经注册";
                            return Json(alert, JsonRequestBehavior.AllowGet);
                        }
                        else
                        {
                            string Code = Entity.Helper.Common.GenerateCheckCode(12);
                            memeber.Password = memeber.Password.Encrypt();
                            memeber.Power = "1";
                            memeber.State = "0";
                            memeber.Sex = "0";
                            memeber.Img = "/attached/2017/11/231552029959.jpg";
                            memeber.Describe = "这个人很懒还未设置签名";
                            memeber.ZcTime = DateTime.Now;
                            memeber.Code = Code;
                            Entity.Helper.Member.Register(memeber);
                            try
                            {
                                Entity.Member ActiveMail = Entity.Helper.Member.GetMemberByEmail(memeber.Email);
                                xsw.Framework.Config.FrameworkConfig config =
                                xsw.Framework.Config.FrameworkConfig.Instance<xsw.Framework.Config.FrameworkConfig>();
                             
                                string title = "博客账号激活";
                                string MailContent = "您好,感谢您在我的博客注册帐户!激活帐户需要点击下面的链接:";
                              
                                Boolean r = Mail.WebSendEmail(memeber.Email, "", title, MailContent);
                              

                                Entity.SiteMessages message = new SiteMessages();
                                message.Content = "欢迎注册博客;
                                message.SendUserID="1";
                                message.UserID=ActiveMail.MemberID.ToString();
                                message.IsView=false;
                                message.Title="欢迎";
                                message.CreateDate=DateTime.Now;
                                DBSession.TryGet().Insert<SiteMessages>(message);

                            }
                            catch (Exception e)
                            {
                            
                                alert.status = 1;
                                alert.msg = "注册成功,但激活邮件发送失败";
                            }
                            alert.action = "Login";
                            alert.status = 0;
                            alert.msg = "注册成功";
                            return Json(alert, JsonRequestBehavior.AllowGet);
                        }
                    }

                }

            }


            return ManageView();
        }


 

发布了29 篇原创文章 · 获赞 11 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/u010840685/article/details/79305003