在做注册的时候博主遇到了个很坑爹的问题
那就是本地发送邮件正常可是搬运到阿里云服务器发送邮件就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();}

C# MVC的博客开发(三)注册相关推荐

  1. C# MVC的博客开发(一)登录

    由于前端使用的是layui的模板,该模板自带登录和注册页面,但是此页面的登录和普通页面的登录有些不同 登录后返回的数据也需要处理,这里我来整理下layui登录时候遇到的问题 首先登录提交数据的js我们 ...

  2. C# MVC的博客开发(二)登录

    解决了登录数据在哪里提交的问题我们进行后台的登录的编写和实现 后台登录代码我就不详细讲解了就是把传输过去的数据和数据库进行匹配如果存在就返回一个值 如果不存在就另外一个值 但是登录的时候我们可能遇到用 ...

  3. Django个人博客开发 | 前言

    本渣渣不专注技术,只专注使用技术,不是一个资深的coder,是一个不折不扣的copier 1.前言 自学 Python,始于 Django 框架,Scrapy 框架,elasticsearch搜索引擎 ...

  4. 【Python开发】Flask开发实战:个人博客(三)

    Flask开发实战:个人博客(三) 在[Python开发]Flask开发实战:个人博客(一) 中,我们已经完成了 数据库设计.数据准备.模板架构.表单设计.视图函数设计.电子邮件支持 等总体设计的内容 ...

  5. Asp.net MVC 仿照博客园的简单网站首页 列表设计

    本来我打算采用ajax提交请求,异步的请求获取数据,但是我发现如果这样的话就会拖慢开发的进度,拖长时间.所以在这篇博客中仿照首页的列表设计其实和左侧列表网站分类采用了同样的方式,通过局部视图的方式呈现 ...

  6. Django 3.2.5博客开发教程:基础配置

    创建项目之后,我们需要对项目进行最基础的配置.这些配置是我们做项目的时候必须要配置的,所以我们先提前配置好. 我们打开myblog目录下的settings.py文件. 一.设置域名访问权限 myblo ...

  7. django model对象修改_从0到1搭建个人博客-Django(三)

    ​你好,我是goldsunC 让我们一起进步吧! 从0到1搭建个人博客-Django(三) 在以下链接快速回顾系列文章内容 从0到1搭建个人博客-Django(一) 从0到1搭建个人博客-Django ...

  8. 【毕业设计_课程设计】基于Spring MVC的博客系统设计与实现

    文章目录 0 项目说明 1 关于项目 2 效果预览 2.1 前台效果图 2.2 后台效果图 3 使用注意 4 使用步骤 5 项目源码 0 项目说明 基于Spring MVC的博客系统设计与实现 提示: ...

  9. Django 3.2.5博客开发教程:用Admin管理后台管理数据

    上节我们我们把数据库迁移到数据库里去了,那么现在我们数据库里是个什么样的情况呢?我们点击Pycharm右上角的Database,然后在网站项目里选中我们的数据库文件db.sqlite3,把它拖到Dat ...

最新文章

  1. java threas.jion_Java Thread.join详解
  2. bash shell 学习记录
  3. Seafile - 最好的 Dropbox 开源替代,面向团队而设计
  4. C语言实现hashset算法(附完整源码)
  5. 使用srvany.exe将任何程序作为Windows服务运行
  6. python decorator_python 中的decorator
  7. mysql中视图和表的区别及联系_MySQL中Update、select联用操作单表、多表,及视图与临时表的区别...
  8. [UE4]响应鼠标点击
  9. python split 正则_Python 正则表达式:split
  10. Android开源库--ActiveAndroid(active record模式的ORM数据库框架)
  11. sentinel 打包_SpringCloud Alibaba整合Sentinel
  12. python播放音乐同步歌词_Python零基础学习代码实践 —— 模拟播放器中的歌词显示...
  13. 手把手教做无人驾驶算法(二十六)--基于终端约束的MPC 控制
  14. 怎么快速制作web原型_快速原型制作指南
  15. BUG的跟踪管理、定位BUG
  16. pdf在线免费去水印 以及图片去水印 方法
  17. Android直接回复通知
  18. 单片机c语言案例教程,单片机C语言案例教程教学指南.doc
  19. 李智慧 - 架构师训练营 第六周
  20. aardio - 虚表库全新升级,支持图片系列专题

热门文章

  1. 前端学习(3104):react-hello-虚拟dom和真实dom
  2. [html] html中p标签内为何不能嵌套div标签?
  3. [html] 如何设置打印尺寸?
  4. [html] 请说说input的inputmode属性有什么应用场景?
  5. [js] 在不支持js的浏览器中如何隐藏JavaScript代码?
  6. [js] 解释下深度优先遍历和广度优先遍历的区别及如何实现
  7. 前端学习(2622):过滤器进行操作
  8. 工作81:图片间隙问题
  9. 工作总结20:遮挡层
  10. 前端学习(2368):编程式导航