(一)项目目录

(二)添加依赖pom.xml

(三)生成唯一激活码

public class CodeUtil {//生成唯一的激活码public String generateUniqueCode(){return UUID.randomUUID().toString().replaceAll("-", "");}
}

(四)邮箱和授权吗

(五)发送邮件工具类

import javax.mail.*;
import javax.mail.internet.*;
import java.io.IOException;
import java.util.Date;
import java.util.Properties;/*** 发送邮件工具类* @Author:* @Date:*/
//@Component 将工具类注入spring容器中
@Component
public class SendEmailUtil {/**发送邮件* @param toEmail 目的地* @param code 唯一激活码* @return*/public int send_email(String toEmail,String code) throws IOException, AddressException, MessagingException{String to = toEmail;String subject = "邮箱验证";String content = "<html><head></head><body><h1>这是一封激活邮件,激活请点击以下链接</h1><h3><a href='http://localhost:8080/RegisterDemo/ActiveServlet?code="+ code + "'>http://localhost:8080/RegisterDemo/ActiveServlet?code=" + code+ "</href></h3></body></html>";Properties properties = new Properties();properties.put("mail.smtp.host", "smtp.qq.com");properties.put("mail.smtp.port", "25");properties.put("mail.smtp.auth", "true");//发送者的邮箱和授权码Authenticator authenticator = new Email_Authenticator("****@qq.com", "pchfwcnialuudjab");Session sendMailSession = javax.mail.Session.getDefaultInstance(properties, authenticator);MimeMessage mailMessage = new MimeMessage(sendMailSession);//邮箱的发送者try {mailMessage.setFrom(new InternetAddress("2464171268@qq.com"));} catch (MessagingException e) {e.printStackTrace();}//邮箱接收// Message.RecipientType.TO属性表示接收者的类型为TOmailMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(to));//发送邮件的标题mailMessage.setSubject(subject, "UTF-8");//发送邮件的日期mailMessage.setSentDate(new Date());//MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象Multipart mainPart = new MimeMultipart();//创建一个包含HTML内容的MimeBodyPartBodyPart html = new MimeBodyPart();//设置邮件的内容的格式和字节码html.setContent(content.trim(), "text/html; charset=utf-8");mainPart.addBodyPart(html);mailMessage.setContent(mainPart);Transport.send(mailMessage);return 1;}
}

控制逻辑部分代码:UserService.java

实现类UserServiceImpl.java:

单元测试代码:

收件箱:

SSM实现邮箱验证功能相关推荐

  1. 邮箱验证功能原理 语法 属性

    邮箱验证功能原理 1 [已解决问题] 浏览: 3508次 很多地方都在注册账号的时候使用邮箱验证功能.注册后发送一封邮件到注册邮箱里面.然后点击 邮箱里面的链接 激活邮箱. 还有手机验证 这些的原理是 ...

  2. javamail实现邮箱验证功能

    javamail是基于SMTP协议和POP3协议的邮件发送与接收系统,在用户注册与登陆的过程中,常需要用到邮箱验证功能,下面是基于javamail的一个简单实现 用户注册后通过servlet得到邮箱地 ...

  3. Express使用nodemailer完成邮箱验证功能详细流程(含封装,可作自定义模块)

    Express使用nodemailer完成邮箱验证功能详细流程(含封装,可作自定义模块) 记录大创项目中,在express中使用第三方模块nodemailer完成邮箱验证功能,含客户端请求验证邮件和服 ...

  4. laravel 项目实现邮箱验证功能

    邮箱验证功能在很多网站都有用到,我的个人网站上也用到,邮箱验证需要用到邮件发送服务,Laravel 提供了非常简单的邮件发送 API,Laravel 项目实现邮件发送功能很简单,下面我开始介绍一下我的 ...

  5. Laravel学习笔记(35)利用事件进行邮箱验证功能(notify,listen,event,MailHog)

    使用一个事件的处理分为以下几点 (1)注册事件和事件监听器 (2)编写事件监听器内的触发操作 具体可以查看:Laravel事件以及模型事件小结 PS:Observer观察者也是对模型事件进行处理,不过 ...

  6. dz邮箱验证怎么设置_详细步骤!Discuz如何设置通过 SOCKET 连接 SMTP 服务器发送(支持 ESMTP 验证)实现论坛邮箱验证功能...

    论坛如何实现邮箱功能呢?今天研究了半天,最终终于成功了. 在网上找了一堆资料也没有一个靠谱的资料,所以在这里记录下我的步骤和方法,希望可以给其他小伙伴一点参考和帮助. 实现思路: 通过注册腾讯企业邮箱 ...

  7. 注册账号的邮箱验证功能

    邮箱验证主要是给邮箱发送简单的文本邮件 步骤如下: 引入相关jar包 配置邮箱参数 封装SimpleMailMessage JavaMailSender进行发送 编写测试类 1.添加依赖 <de ...

  8. gitlab 取消掉邮箱验证功能

    系统 :centos7 gitlab版本:gitlab-ce-11.6.2-ce.0.el7.x86_64 安装方式: yum install gitlab-ce-11.6.2-ce.0.el7.x8 ...

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

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

最新文章

  1. docker4dotnet #4 使用Azure云存储构建高速 Docker registry
  2. 统计文件中每个单词出现的次数
  3. 改善代码设计 —— 组织好你的数“.NET研究”据(Composing Data)
  4. Expression: _CrtIsValidHeapPointer(pUserData)
  5. 2018/5/12日更新Win7x86x64纯净安装旗舰版WIM下载(启用内置管理员).....
  6. 本周Web2.0小工具推荐[2008-08-24]
  7. iOS NSURLSession DataTask(数据任务)
  8. java中volatile_java中volatile关键字的含义
  9. 奔驰宝马路虎等齐降价 最高降幅达8.5万!
  10. 【Java集合之Map】HashMap、HashTable、TreeMap、LinkedHashMap区别
  11. 随想录(定义自己的cpu和工具链)
  12. 屌丝就爱尝鲜头——java8再判断
  13. Docker Swarm架构、特性与基本实践
  14. 一道非齐次方程组解的判定习题--行向量
  15. SQL SERVER存储过程的几种示例
  16. masm5安装教程_汇编学习笔记(5)-程序的编译(MASM)
  17. 多维泰勒网matlab,非线性定常系统的多维泰勒网优化跟踪控制
  18. C#:命名空间“System.Windows”中不存在类型或命名空间名“Forms”(是否缺少程序集引用?)
  19. CSS基础知识汇总{主要内容: CSS语法结构,类选择器,后代选择器,交集选择器等}
  20. 报错Errors: http://eslint.org/docs/rules/*

热门文章

  1. python 异常重试模块retry
  2. 大学学java的就业方向_学Java的就业方向有哪些?
  3. 如何搞定笔记本检测不到wifi,图标,Netkeeper链接不上
  4. 你一念之差,我动情一场:伤感日志
  5. 虚拟机怎么架设dns服务器,虚拟机centos7 DNS服务器搭建
  6. C语言学习教程之详解C语言中的字符串数组
  7. webshell、木马与后门之间的区别
  8. 读大学,大学四年培养的思维与工作能力,(读研,读博)
  9. 电气工程类期刊最新数据+2019年电气工程领域的中文期刊(EI期刊+中文核期刊)
  10. Python plotly保存图片