C# MVC的博客开发(三)注册
在做注册的时候博主遇到了个很坑爹的问题
那就是本地发送邮件正常可是搬运到阿里云服务器发送邮件就gg了查询了很久才知道阿里云默认是把25发送邮件端口给封了
也就是说放在阿里云服务器的发送邮件是无法以无ssl加密的方式发送的,必须通过ssl家里的465端口去发送邮件
然后我们调用封装好Mail类
Mail类下载地址:https://pan.baidu.com/s/1c3knPVM
发送邮件格式如下:
当然在使用tx邮箱发送邮件的时候也需要注意一个问题那就是tx以前发送邮件的密码是独立密码现在改为授权码了,授权码在开启stmp的下面
全部的注册代码如下(部分数据链接不方便展示删除了):
那就是本地发送邮件正常可是搬运到阿里云服务器发送邮件就gg了查询了很久才知道阿里云默认是把25发送邮件端口给封了
也就是说放在阿里云服务器的发送邮件是无法以无ssl加密的方式发送的,必须通过ssl家里的465端口去发送邮件
然后我们调用封装好Mail类
Mail类下载地址:https://pan.baidu.com/s/1c3knPVM
发送邮件格式如下:
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(); }