pom依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

测试类

package com.cbb.util;

import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;

/**

*@date 2022年5月13日 09点02分

*@author  陈斌斌

*/
public class sendEmail {
      public static void main(String[] args) throws AddressException,MessagingException {   
            // 创建Properties 类用于记录邮箱的一些属性
            Properties props = new Properties();
            // 表示SMTP发送邮件,必须进行身份验证
            props.put("mail.smtp.auth", "true");
            //此处填写SMTP服务器
            props.put("mail.smtp.host", "smtp.qq.com");
            //端口号,QQ邮箱端口587
            props.put("mail.smtp.port", "587");
            // 此处填写,写信人的账号
            props.put("mail.user", "XXXXXX@qq.com");
            // 此处填写16位STMP口令
            //登录QQ邮箱 - 设置- 账户 - POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
            //-POP3/SMTP服务 (如何使用 Foxmail 等软件收发邮件?) 此项目开启
            //会生成一串字符串 复制过来
            props.put("mail.password", "");

// 构建授权信息,用于进行SMTP进行身份验证
            Authenticator authenticator = new Authenticator() {

protected PasswordAuthentication getPasswordAuthentication() {
                    // 用户名、密码
                    String userName = props.getProperty("mail.user");
                    String password = props.getProperty("mail.password");
                    return new PasswordAuthentication(userName, password);
                }
            };
            // 使用环境属性和授权信息,创建邮件会话
            Session mailSession = Session.getInstance(props, authenticator);
            // 创建邮件消息
            MimeMessage message = new MimeMessage(mailSession);
            // 设置发件人
            InternetAddress form = new InternetAddress(props.getProperty("mail.user"));
            message.setFrom(form);

// 设置收件人的邮箱
            InternetAddress to = new InternetAddress("XXXXXX@qq.com");
            message.setRecipient(RecipientType.TO, to);
            //生成随机数
            int number = (int) (Math.random()*1000000);
            // 设置邮件标题
            message.setSubject("找回密码提醒");

// 设置邮件的内容体
            message.setContent("您的验证码为:"+number+"。尊敬的客户,以上验证码一次生效,天天水果生鲜系统不会以任何方式向你索取该验证码,请忽泄露或转发他人[陈斌斌]", "text/html;charset=UTF-8");

// 最后当然就是发送邮件啦
            Transport.send(message);
       }
}

通过邮箱验证码找回密码相关推荐

  1. php发邮箱验证码找回密码,织梦dede会员通过邮箱找回密码方法

    首先打开文件: /member/resetpassword.php 这是织梦会员找回密码的核心文件! 在148行有这么一句: showmsg('对不起,临时密码错误', '-1');   看来问题就在 ...

  2. php实现短信找回密码,thinkphp5怎么调用云片接口实现发送短信验证码找回密码功能...

    thinkphp5怎么调用云片接口实现发送短信验证码找回密码功能 发布时间:2020-12-11 12:33:42 来源:亿速云 阅读:60 作者:小新 小编给大家分享一下thinkphp5怎么调用云 ...

  3. html5实现短信验证修改密码,thinkphp5如何调用云片接口实现发送短信验证码找回密码功能...

    下面由thinkphp框架教程栏目给大家介绍thinkphp5如何调用云片接口实现发送短信验证码找回密码功能,希望对需要的朋友有所帮助! 思路: 1.用户输入手机号,请求获取短信验证码. 2.thin ...

  4. javaWeb实现使用邮箱邮件找回密码功能

    JSP+Jmail+JavaBean 发邮件(转)2010-08-23 18:052007年04月14日 14:32/* * SendMail.java * * Created on 2007年3月3 ...

  5. 基于TP3.2的发送邮箱做找回密码

    技术QQ交流群:294088839 //找回密码     public function reset(){         if(IS_POST){              $username=I( ...

  6. 使用qq邮箱作为找回密码发件邮箱。报错:参数或变量中有语法错误。 服务器响应为:mail from address must be same as authorization u

    首先查看该帖:http://bbs.csdn.net/topics/390149680 然后QQ邮箱管理员 返回以下信息. 你好,我们发现你最近在第三方客户端尝试登录QQ邮箱失败. 失败原因:由于你已 ...

  7. ThinkPHP 3.2 用户注册邮箱验证帐号找回密码

    一.前言 当然现在有的网站也有手机短信的方式找回密码,原理就是通过发送验证码来验明正身,和发送邮件验证一样,最终还是要通过重置密码来完成找回密码的流程. 本文将使用PHP+Mysql+jQuery来实 ...

  8. 网站常用邮箱找回密码流程插件页面

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  9. php通过邮箱找回密码,PHP邮件验证找回密码

    内容转载自网络,如有侵权请留言. 话不多说直接上代码. 前台HTML+Jq操作: 输入您注册的电子邮箱,找回密码: $(function(){ $("#sub_btn").clic ...

最新文章

  1. SAP CRM和C4C数据同步的两种方式概述:SAP PI和HCI
  2. 甘特图看起来很生硬?教你使用智能颜色装饰你的甘特图!(二)
  3. 车仪表台上的装饰_一汽大众销量最差的车,旅行车蔚领为什么在国内没有市场?...
  4. 通过fork进程爆破canary
  5. Laravel-数据库队列
  6. 解决Ajax中IE浏览器缓存问题
  7. String、StringBuiler、StringBuffer的区别
  8. C/C++获取Windows系统CPU和内存及硬盘使用情况
  9. QProcess实现交互式命令
  10. undefined reference to错误的解决方法
  11. OpenGL入门(二)之渲染管线pipeline,VAO、VBO和EBO
  12. PCL .stl格式转成.pcd格式点云文件
  13. 转:让老板头疼的90后,管不得?
  14. 京东云PostgreSQL在GIS场景的应用分享
  15. 六、C++离散傅里叶逆变换
  16. java画太极加图片_新手初学java 尝试编程绘画太极图
  17. linux 怎样安装 nginx
  18. STM32中的程序在RAM还是FLASH里运行?
  19. 精妙绝伦!阿里资深架构师撰写这份:并发编程,可谓“独具匠心”
  20. 小尝试:基于指标体系的数据仓库搭建和数据可视化

热门文章

  1. Compose自定义实战
  2. 自编R计算MSE(均方误差)
  3. Github Desktop(Windows桌面版)简单教程
  4. 100G光模块之后,200G,400G谁将成为市场宠儿
  5. 机器学习 | MATLAB实现ELM极限学习机elmtrain参数设定
  6. 电话销售技巧全面大攻略
  7. DUC与DDC——基于FPGA与MATLAB的仿真
  8. 2020必读的12本机器学习书籍汇总
  9. POWER BI中国主要城市交通健康榜
  10. openJDK下载教程