邮箱注册账号

第一步创建邮箱工具类去想创建账号的邮箱发送验证码

@Component
public class MailUtil {// 发件人的邮箱账号public static String sendEmailAccount = "*******@qq.com";// 发件人的邮箱的授权码,在qq邮箱中去申请public static String sendEmailPassword = "******";// 发件人邮箱的SMTP服务器地址,qq邮箱和163邮箱是不同的public static String sendEmailSMTPHost = "smtp.qq.com";// 把发送邮件封装为函数,参数为收件人的邮箱账号和要发送的内容public static void sendMail(String receiveMailAccount,String code) throws GeneralSecurityException {// 创建用于连接邮件服务器的参数配置Properties props = new Properties();// 设置使用SMTP协议props.setProperty("mail.transport.protocol", "smtp");// 设置发件人的SMTP服务器地址props.setProperty("mail.smtp.host", sendEmailSMTPHost);// 设置需要验证props.setProperty("mail.smtp.auth", "true");MailSSLSocketFactory sf = new MailSSLSocketFactory();sf.setTrustAllHosts(true);props.put("mail.smtp.ssl.enable", "true");props.put("mail.smtp.ssl.socketFactory", sf);// 根据配置创建会话对象, 用于和邮件服务器交互Session session = Session.getInstance(props);// 设置debug模式,便于查看发送过程所产生的日志session.setDebug(true);try {// 创建一封邮件MimeMessage message = createMimeMessage(session, sendEmailAccount, receiveMailAccount, code);// 根据 Session 获取邮件传输对象Transport transport = session.getTransport();transport.connect(sendEmailAccount, sendEmailPassword);// 发送邮件, 发到所有的收件地址, 通过message.getAllRecipients() 可以获取到在创建邮件对象时添加的所有收件人transport.sendMessage(message, message.getAllRecipients());// 关闭连接transport.close();} catch (Exception e) {e.printStackTrace();}}public static MimeMessage createMimeMessage(Session session, String sendEmailAccount, String receiveMailAccount,String code) throws Exception {// 创建一封邮件MimeMessage message = new MimeMessage(session);// 设置发件人姓名和编码格式message.setFrom(new InternetAddress(sendEmailAccount, "聊吧", "UTF-8"));// 收件人message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMailAccount, "尊敬的用户", "UTF-8"));// 设置邮件主题message.setSubject("注册验证码", "UTF-8");// 设置邮件正文message.setContent("<h1>尊重的用户您好,欢迎注册聊吧,您的验证码为<h1>"+code, "text/html;charset=UTF-8");// 设置发件时间message.setSentDate(new Date());// 保存设置message.saveChanges();return message;}}

第二步创建生成验证码的方法,用来随机生成验证码,验证码的数位尽量高一些来保证验证码的安全性

 public static  String getCode(){String str="ABCDEFGHIJKLMNOBQRSTUVWXYZ0123456789";StringBuilder stringBuilder=new StringBuilder(4);for(int i=0;i<6;i++){char ch=str.charAt(new Random().nextInt(36));stringBuilder.append(ch);}return stringBuilder.toString();}

第三步通过调用注册接口将验证码返回到前端页面,有前端进行数据检验

注册账号(邮箱验证)相关推荐

  1. phpcmsV9 邮箱注册:邮箱验证(不改代码、含演示截图) - 配置篇

    phpcmsV9 邮箱注册:邮箱验证(不改代码.含演示截图) - 全程指导 方法一.(网传) · 配置教程 第一步:修改登陆的验证JS 第二步: 修改登录文件 方法二.真机实操 · 教程 [推荐] 1 ...

  2. 实现邮箱注册账号并验证邮箱

    两种实现思路:   1.注册完成后 该账号状态未激活,点击邮箱链接更改数据库状态激活账号.   2.填写完邮箱,设定激活链接失效时间,激活后可提交该表单页,完成注册. 两种方法大同小异 以1为例: 采 ...

  3. github注册账号一直验证失败

    github注册账号第二步是验证,选择图形验证需要将两幅图摆正,我在验证的时候第一幅图可以成功验证,但第二幅图一直失败,明明摆正了却一直说没有摆正,要不就说用时太长(真是有够恶心的),百度了一下发现没 ...

  4. python验证身份证号码大全_国服魔兽注册账号需要验证身份证及真实姓名

    网易<魔兽世界>注册中需要验证姓名和身份证号码,如果不吻合就无法通过验证. 同样的对象---网游企业,同样的内容---用户注册实名,不同的部委---文化部和新闻出版总署各自推行网游实名制. ...

  5. Django 实现网站注册用户邮箱验证功能

    我们在很多网站上都可以看到用户注册使用电子邮件激活或启用的方式.也就是说,用户在注册后填写正确的电子邮件地址,接着网站会发送一封启用电子邮件到用户设置的电子邮件的邮箱中,并在邮件中提供一个激活或启用的 ...

  6. django 注册登录邮箱验证功能

    邮箱注册 一.Python自带的邮箱模块 步骤 1.开启163邮箱服务器 2.写脚本文件 import smtplib # 1.导入邮件模块 from email.mime.text import M ...

  7. beego 注册账号发送邮件验证激活

    常见 SMTP 服务器端口 QQ smtp.qq.com 587 163 smtp.163.com 25 126 smtp.126.com 25 需要开启邮箱的SMTP服务,知道smtp密码 控制器注 ...

  8. 使用git注册账号邮箱以及生成公钥

    1.首先需要一个git仓库地址的账号 2.配置用户名和邮箱: (1):桌面上右键,选git bash here (2):配置名字和邮箱:git config --global user.name zh ...

  9. struts2的登录注册 验证码 邮箱验证_Python+tkinter模拟京东登录时拖动图片式验证码...

    好消息:"Python小屋"编程比赛正式开始 推荐图书: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国,清华大学出版社, ...

最新文章

  1. Python 爬取网页HTML代码
  2. Writing a FilterUnloadCallback Routine for a Minifilter Driver 为一个微过滤驱动写一个过滤器卸载回调例程...
  3. python下载文件到本地-Python下载网络文本数据到本地内存的四种实现方法示例
  4. django NoReverseMatch 错误问题
  5. 广播,多播(二)(Broadcasting, Multicasting)
  6. 苹果电脑怎么设置佳博标签打印机_自动接单、打印快,手动调节音量,佳博推出后厨专用智能打印机...
  7. java3d box 坐标,3d transform的坐标空间及位置
  8. tcp 测试软件,ztcp
  9. 前端学习(2365):图片的预览
  10. linux系列之 SSH
  11. [链表|多解法] leetcode 19 删除链表的倒数第N个节点
  12. Docker容器commit安装kali工具集
  13. 移动端实现摇一摇并振动
  14. 微信公众号网页开发和小程序开发之路
  15. 【FinE】单利与复利
  16. linux统计单拷贝基因家族,为什么要进行基因家族分析?
  17. 共享自习室预约小程序APP系统开发设计方案
  18. python3 题解(20)-五位数黑圈
  19. 计算机专业不用学数学的有什么,大学里不用学数学的专业,不想学高数的看过来,你的专业是哪个...
  20. 去雾论文A real-time fast defogging system to clear the vision of driver in foggy highway using minimu...

热门文章

  1. 前端vue实现导出功能:当后端给你返回的是文件流时,你要如何导出?
  2. MetaIn中自定义poi点在智慧城市中的运用
  3. Office Mobile 2010 已经发布
  4. 折叠屏手机江湖:华为加固城墙,小米奋起直追
  5. C语言编程验证卡布列克,C趣味程序百例(26)卡布列克常数
  6. 24小时智慧图书馆解决方案,校园智能微型图书馆
  7. 大数据发现了厕所越干净城市越发达,但永远无法解释这背后的原因
  8. 判断库和表存在的语句
  9. 高端感的设计logo要点
  10. android版本8.1.0发布时间,安卓8.1.0是什么版本