发送邮件(注册用户并激活邮箱)

注册用户 并激活邮箱 的逻辑

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

posted on 2015-10-29 15:00 AdolphYang 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/adolphyang/p/4920558.html

发送邮件(注册用户并激活邮箱)相关推荐

  1. 基于springboot实现注册功能发送激活码至邮箱激活账户登录

    文章目录 激活原理 运行说明(重点) 实例演示(重点) 代码说明 项目结构图 准备工作 emailactivate项目详细代码 common UUIDUtils config DruidDbConfi ...

  2. 《JavaWeb从入门到改行》注册时向指定邮箱发送邮件激活

    javaMail API javaMail是SUN公司提供的针对邮件的API . 两个jar包  mail.jar 和 activation.jar java mail中主要类:javax.mail. ...

  3. java注册时向指定邮箱发送邮件激活

    javaMail API javaMail是SUN公司提供的针对邮件的API . 两个jar包  mail.jar 和 activation.jar java mail中主要类:javax.mail. ...

  4. gin学习——邮箱发送验证码注册用户

    qq邮箱-设置-账户 安装 go get -u github.com/jordan-wright/email go get -u github.com/garyburd/redigo/redis da ...

  5. Java实现注册时发送激活邮件验证

    在很多网站注册的时候,为了验证用户信息的真实合法,往往需要验证用户所填邮件的准确性.形式为:用户注册时填写邮箱,注册完成后,网站会向用户所填邮箱发送一封激活邮件,用户点击激活邮件中的链接后,方可完成注 ...

  6. Java实现邮箱注册,并对邮箱进行校验。

    最近在研究邮箱/手机号注册账号. 这一篇就是基于Java语言的SpringBoot框架的邮箱校验.当然最核心的内容与SpringBoot并没有什么太大的关联. 最基本的Mapper就不展示了,专注于核 ...

  7. python 发送邮件 163_python练习-使用163邮箱发送邮件

    具体代码如下> #密码等敏感信息已经用****替换 import smtplib,sys from email.mime.text import MIMEText from email.head ...

  8. 会声会影2020Corel Video Studio注册机安装激活教程

    很多用户在安装激活会声会影2020的过程中,由于操作不当导致安装出错和报错.为了方便广大用户安装激活,小编将为大家呈现整个会声会影安装激活. 安装过程全解析: 第一步:购买成功之后在订单中心下载正式安 ...

  9. 黑马旅游网-注册用户(二)

    目录 一.注册用户-业务流程分析 1.页面效果 2.业务流程分析 二.注册用户-前端功能实现 修改register.html 1.校验用户名 2.校验密码 3.检验邮箱 4.使用ajax提交数据 5. ...

最新文章

  1. 如何改变一个地图的Zoom单位
  2. requireJS 从概念到实战
  3. Mybatis 中使用CDATA
  4. python里的符号区别_Python中的方括号和点符号有什么区别?
  5. 【渝粤教育】电大中专跨境电子商务理论与实务 (19)作业 题库
  6. input数字开头不能为0_李商隐为初恋写诗,每句以数字开头,最后10字一直被仿从未被超越...
  7. 前端学习(1604):脚手架props与state
  8. Vue语法学习第一课——插值
  9. replace使用案例--替换空格
  10. 可视化idea_给IDEA换个酷炫的主题,这个有点哇塞啊!
  11. [转载] python实现一个简易的计算器
  12. c++、C#互调用之c# 调用 vc6 COM
  13. AndroidStudio中Files under the “build“ folder are generated and should not be edited的解决方法
  14. 防雷器和电涌保护器的区别
  15. TSC打印机打印条形码和二维码,JS实现方式
  16. OneDrive的申请与使用
  17. 浮点数例外(吐核)错误
  18. 中文字幕人工翻译 Lynda-After Effects CC 2019 Essential Training Motion Graphics
  19. 使用Python实现超级趋势指标(Super Trend Indicator)
  20. Win11没有本地用户和组怎么办

热门文章

  1. 动态表头_Excel制作动态考勤表及周六周日颜色标注
  2. OpenSSL API: SSL对象和SSL_CTX对象的使用
  3. Software Defined Perimeter白皮书
  4. mysql union 别名报错_MySQL中UNION和UNION ALL的使用
  5. WebAPI——cookie与session遇到的问题
  6. 可以打开md_大祥MD型耐磨卧式多级离心泵现货出售中大泵业
  7. java循环之后求和代码,Java lambda 循环累加求和代码
  8. SQL基础笔试题(六)
  9. 湖北孝感学校计算机好吗,湖北省孝感市2018年上半年计算机等级考试注意事项...
  10. 刷网课会被检测出来吗_目标检测中的Precision和Recall