发送邮件(注册用户并激活邮箱)
注册用户 并激活邮箱 的逻辑
1 获得用户数据 2 验证 非空、格式 3 验证 图形验证码 4 判断 用户是否存在,需要不存在 5 判断 邮箱是否已激活使用,需要未激活 6 向DB中插入用户,未激活(只要插入,无论激活否,先存入session,如果失败可以用到) 7 发送邮件username,activecode,并存入session,设置有效日期 8 返回激活码,如果激活码正确,更新DB中激活码 9 返回“注册并激活成功,跳转首页”,否则返回“注册成功但激活失败,重新激活新邮箱” 10 [重新激活邮箱:如果新邮箱未激活使用,则发送激活码,如果返回正确,更新当前用户邮箱并激活 11 返回“激活成功,跳转首页”]
发送邮件
public class SendEmailHelper{/// <summary>/// 发送邮件/// </summary>/// <param name="receiveEmailAddress">接收方邮箱地址</param>/// <param name="subject">邮件主题</param>/// <param name="body">邮件内容</param>public static void SendMail(string receiveEmailAddress,string subject,string body){string sendEmailUserName = ConfigurationManager.AppSettings["sendEmailUserName"]; //发送方邮箱登录名string sendEmaiPassword = ConfigurationManager.AppSettings["sendEmaiPassword"]; //发送方邮箱密码string sendEmailAddress = ConfigurationManager.AppSettings["sendEmailAddress"]; //发送方邮箱地址//简单邮件传输协议类System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();client.Host = "smtp.163.com";//邮件服务器client.Port = 25;//smtp主机上的端口号,默认是25.client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;//邮件发送方式:通过网络发送到SMTP服务器client.Credentials = new System.Net.NetworkCredential(sendEmailUserName, sendEmaiPassword);//凭证,发件人登录邮箱的用户名和密码//电子邮件信息类System.Net.Mail.MailAddress fromAddress = new System.Net.Mail.MailAddress(sendEmailAddress);//发件人Email,在邮箱是这样显示的,[发件人:小明<panthervic@163.com>;]System.Net.Mail.MailAddress toAddress = new System.Net.Mail.MailAddress(receiveEmailAddress);//收件人Email,在邮箱是这样显示的, [收件人:小红<43327681@163.com>;] System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage(fromAddress, toAddress);//创建一个电子邮件类mailMessage.Subject = subject;//string filePath = HttpContext.Current.Server.MapPath("/index.shtml");//邮件的内容可以是一个html文本.//System.IO.StreamReader read = new System.IO.StreamReader(filePath, System.Text.Encoding.UTF8); //System.Text.Encoding.GetEncoding("GB2312")//string mailBody = read.ReadToEnd();//read.Close();mailMessage.Body = body;//可为html格式文本mailMessage.SubjectEncoding = System.Text.Encoding.UTF8;//邮件主题编码mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码mailMessage.IsBodyHtml = true;//邮件内容是否为html格式mailMessage.Priority = System.Net.Mail.MailPriority.Normal;//邮件的优先级,有三个值:高(在邮件主题前有一个红色感叹号,表示紧急),低(在邮件主题前有一个蓝色向下箭头,表示缓慢),正常(无显示).try{client.Send(mailMessage);//发送邮件//client.SendAsync(mailMessage, "ojb");异步方法发送邮件,不会阻塞线程. }catch (Exception e){throw new Exception(e.Message);}}}
转载于:https://www.cnblogs.com/adolphyang/p/4920558.html
发送邮件(注册用户并激活邮箱)相关推荐
- 基于springboot实现注册功能发送激活码至邮箱激活账户登录
文章目录 激活原理 运行说明(重点) 实例演示(重点) 代码说明 项目结构图 准备工作 emailactivate项目详细代码 common UUIDUtils config DruidDbConfi ...
- 《JavaWeb从入门到改行》注册时向指定邮箱发送邮件激活
javaMail API javaMail是SUN公司提供的针对邮件的API . 两个jar包 mail.jar 和 activation.jar java mail中主要类:javax.mail. ...
- java注册时向指定邮箱发送邮件激活
javaMail API javaMail是SUN公司提供的针对邮件的API . 两个jar包 mail.jar 和 activation.jar java mail中主要类:javax.mail. ...
- gin学习——邮箱发送验证码注册用户
qq邮箱-设置-账户 安装 go get -u github.com/jordan-wright/email go get -u github.com/garyburd/redigo/redis da ...
- Java实现注册时发送激活邮件验证
在很多网站注册的时候,为了验证用户信息的真实合法,往往需要验证用户所填邮件的准确性.形式为:用户注册时填写邮箱,注册完成后,网站会向用户所填邮箱发送一封激活邮件,用户点击激活邮件中的链接后,方可完成注 ...
- Java实现邮箱注册,并对邮箱进行校验。
最近在研究邮箱/手机号注册账号. 这一篇就是基于Java语言的SpringBoot框架的邮箱校验.当然最核心的内容与SpringBoot并没有什么太大的关联. 最基本的Mapper就不展示了,专注于核 ...
- python 发送邮件 163_python练习-使用163邮箱发送邮件
具体代码如下> #密码等敏感信息已经用****替换 import smtplib,sys from email.mime.text import MIMEText from email.head ...
- 会声会影2020Corel Video Studio注册机安装激活教程
很多用户在安装激活会声会影2020的过程中,由于操作不当导致安装出错和报错.为了方便广大用户安装激活,小编将为大家呈现整个会声会影安装激活. 安装过程全解析: 第一步:购买成功之后在订单中心下载正式安 ...
- 黑马旅游网-注册用户(二)
目录 一.注册用户-业务流程分析 1.页面效果 2.业务流程分析 二.注册用户-前端功能实现 修改register.html 1.校验用户名 2.校验密码 3.检验邮箱 4.使用ajax提交数据 5. ...
最新文章
- 如何改变一个地图的Zoom单位
- requireJS 从概念到实战
- Mybatis 中使用CDATA
- python里的符号区别_Python中的方括号和点符号有什么区别?
- 【渝粤教育】电大中专跨境电子商务理论与实务 (19)作业 题库
- input数字开头不能为0_李商隐为初恋写诗,每句以数字开头,最后10字一直被仿从未被超越...
- 前端学习(1604):脚手架props与state
- Vue语法学习第一课——插值
- replace使用案例--替换空格
- 可视化idea_给IDEA换个酷炫的主题,这个有点哇塞啊!
- [转载] python实现一个简易的计算器
- c++、C#互调用之c# 调用 vc6 COM
- AndroidStudio中Files under the “build“ folder are generated and should not be edited的解决方法
- 防雷器和电涌保护器的区别
- TSC打印机打印条形码和二维码,JS实现方式
- OneDrive的申请与使用
- 浮点数例外(吐核)错误
- 中文字幕人工翻译 Lynda-After Effects CC 2019 Essential Training Motion Graphics
- 使用Python实现超级趋势指标(Super Trend Indicator)
- Win11没有本地用户和组怎么办
热门文章
- 动态表头_Excel制作动态考勤表及周六周日颜色标注
- OpenSSL API: SSL对象和SSL_CTX对象的使用
- Software Defined Perimeter白皮书
- mysql union 别名报错_MySQL中UNION和UNION ALL的使用
- WebAPI——cookie与session遇到的问题
- 可以打开md_大祥MD型耐磨卧式多级离心泵现货出售中大泵业
- java循环之后求和代码,Java lambda 循环累加求和代码
- SQL基础笔试题(六)
- 湖北孝感学校计算机好吗,湖北省孝感市2018年上半年计算机等级考试注意事项...
- 刷网课会被检测出来吗_目标检测中的Precision和Recall