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();}


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410563.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中if有几种使用方式_python 中if-else的多种简洁的写法

原博文 2017-11-02 15:18 − 因写多了判断语句&#xff0c;看着短短的代码却占据来好几行&#xff0c;于是便搜下if-else简洁的写法&#xff0c;结果也是发现新大陆 4种&#xff1a; 第1种:__就是普通写法 a, b, c 1, 2, 3 if a>b: c a else: c b 第二种&#xff1a;一行…

[html] 怎样避免让用户看到长时间的白屏?

[html] 怎样避免让用户看到长时间的白屏&#xff1f; 我觉得&#xff0c;实际解决办法需要结合用户体验和性能优化这两个指标来说&#xff1a;1、用户体验可以使用骨架屏来减少页面白屏&#xff0c;骨架屏也具有更好的loading效果。2、假如1个页面里面有很多很多网络请求&…

Markdown_LaTex_极限符号

IDE&#xff1a;Typora 内容&#xff1a;极限符号 \[\lim\limits_{x\rightarrow\infty}\frac{1}{x}\] $$\lim\limits_{x\rightarrow\infty}\frac{1}{x}$$解释:极限符号部分分数部分 极限部分\lim\limits_{x\rightarrow\infty} \[\lim\limits_{x\rightarrow\infty}\] 分数部分\f…

感谢博客园让我拥有自己的空间

申请的时候&#xff0c;一看需要审核&#xff0c;着实吓着了&#xff0c;除了QQ空间&#xff0c;从来没有申请过其它任何博客&#xff0c;不管如何&#xff0c;首先感谢博客园让我有了一个记录学习、生活的地方转载于:https://www.cnblogs.com/Delphi-Farmer/archive/2011/06/0…

python多行字符串输入_python中怎么输入多行字符串

Python中输入多行字符串&#xff1a; 方法一&#xff1a;使用三引号>>> str1 Le vent se lve, il faut tenter de vivre. 起风了&#xff0c;唯有努力生存。 &#xff08;纵有疾风起&#xff0c;人生不言弃。&#xff09; >>> str1 Le vent se lve, il faut…

C# MVC使用阿里云对象存储加快图片加载速度(一)

公司有个点餐的项目有大量的图片需要在扫码后的网页进行加载&#xff0c;刚开始使用的客户少的时候公司的4核8G&#xff0c;5M带宽的服务器还能挺快的加载图片和网页&#xff0c;但是客户一多&#xff0c;由于客户大多是快餐行业的&#xff0c;中午点餐的人数是相当多的&#x…

[html] html5点击返回键怎样不让它返回上一页

[html] html5点击返回键怎样不让它返回上一页 $(function() {if (window.history && window.history.pushState) {$(window).on(popstate, function () {window.history.pushState(forward, null, #);window.history.forward(1);});}window.history.pushState(forward,…

自动单击按钮

Delphi中FindWindow,FindWindowEx,SendMessage妙用: var i,j,k:integer; begin i:FindWindow(nil,与 ●┌哒!ňg 聊天中); //查找主窗口 j:FindWindowEx(i,0,#32770,); k:FindWindowEx(j,0,Button,消息模式(&T)); SendMessage(k,BM_CLICK,0,0…

[html] iframe父页面如何获取子页面的元素?

[html] iframe父页面如何获取子页面的元素&#xff1f; window.frames["iframe的id"].contentDocument.getElementsByClassName("classname")document.getElementById(myiframe).contentWindow.document.getElementsByClassName("classname")$(w…

css background 充满自适应_剖析一些经典的CSS布局问题,为前端开发+面试保驾护航...

一、让一个元素水平垂直居中&#xff0c;到底有多少种方案&#xff1f;水平居中对于 行内元素: text-align: center;对于确定宽度的块级元素&#xff1a;width和margin实现。margin: 0 auto;绝对定位和margin-left: -width/2, 前提是父元素position: relative对于宽度未知的块级…

.net Redis缓存优化提高加载速度和服务器性能(二)

上文详细测试了每次都读取数据库的接口和通过缓存读取接口的性能对比 这里我们就准备实际简介肿么将原来的数据库加上Redis缓存优化部分接口 1.下载Redis和Redis视图管理工具 点击下载 提取码: 9tgg 备用下载地址 下载完成后先安装Redis再安装Redis视图管理工具 打开…

ASP.NET数据库访问系列教程01-概述篇 创建数据访问层(下)

ASP.NET数据库访问系列教程 本教程深入探讨了基于ASP.NET 2.0技术的数据库访问方法和模式。这些介绍非常简明&#xff0c;并且提供了一步步的指导和大量的截屏。 该系列教程包括&#xff1a; 概述篇 基础报表 主/明细报表 自定义格式报表 编辑&#xff0c;插入和删除数据 分页和…

Python学习1——Python中的 split() 函数

函数&#xff1a;split() Python中有split()和os.path.split()两个函数&#xff0c;此处简单介绍split()函数&#xff1a;split()&#xff1a;拆分字符串。通过指定分隔符对字符串进行切片&#xff0c;并返回分割后的字符串列表&#xff08;list&#xff09; 一、函数说明 1、s…

安装python要注意什么_安装python注意事项

一&#xff1a;windows安装python 1&#xff1a;需要下载python安装包 2&#xff1a;安装配置环境变量 3&#xff1a;cmd下输入python验证&#xff1a;python&#xff0c;python -v 二&#xff1a;linux环境下安装python 1&#xff1a;6.3系统默认给的python2.6&#xff0c;7.2…

C# 淘宝商品微信返利助手开发-(五)返利助手开发(3)淘口令如何通过API转换为链接

系列教程一目录&#xff1a;返利助手原理 系列教程二目录&#xff1a;返利助手开放文档以及帐号申请地址 系列教程三目录&#xff1a;返利助手开发&#xff08;1&#xff09;API介绍 系列教程四目录&#xff1a;返利助手开发&#xff08;2&#xff09;淘宝分享的内容如何只取…

数据结构之单向环形列表解决josef问题

1.定义节点类 该节点类中只有孩子的编号,以及指向下一个节点的"指针" package com.ebiz.list.josepfu;/*** author YHj* create 2019-07-17 22:21* 表示节点的类*/ public class Boy {private int no;private Boy next; //指向下一个节点public Boy(int no) {this.n…

考研英语核心词汇辨析(黑魔方系列2007版之十二)

revolve, evolve, involverevolve v.旋转&#xff0c;转动。The room began to revolve , then he fainted.屋子开始旋转&#xff0c;然后他就昏倒了。evolve v.发展&#xff0c;演变。Agriculture evolved slowly over thousands of years.几千年来&#xff0c;农业发展得很缓…

[html] HTML为什么要语义化?语义化有什么好处?

[html] HTML为什么要语义化&#xff1f;语义化有什么好处&#xff1f; 1.利于SEO 2.结构与表现分离 3.利于维护个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

C# 淘宝商品微信返利助手开发-(六)返利助手开发(4)如何通过淘口令解析的出来的地址获得返利信息

系列教程一目录&#xff1a;返利助手原理 系列教程二目录&#xff1a;返利助手开放文档以及帐号申请地址 系列教程三目录&#xff1a;返利助手开发&#xff08;1&#xff09;API介绍 系列教程四目录&#xff1a;返利助手开发&#xff08;2&#xff09;淘宝分享的内容如何只取…

Oracle 大规模 delete,update 操作 注意事项

一. 说明 如果对大表进行大规模的delete 和update&#xff0c;那么可以注意一下如下说明&#xff1a; &#xff08;1&#xff09; 查看执行计划&#xff0c;如果说删除的记录很多&#xff0c;走索引的成本会比全表扫描更大&#xff0c;因为更新数据时还需要做一些约束校验和创…