前台用户注册_发送邮件配置

news2024/11/25 7:06:35

在用户注册成功后,要向用户的邮箱发送一封激活邮件,发送邮件需要在系统中配置发件人,同学们使用自己的邮箱作为发件人即可。

配置邮箱第三方登录。

我们在系统中使用邮箱发送邮件属于第三方登录,而市面上的邮箱默认是不能第三方登录的。我们需要登录邮箱,配置第三方登录。以QQ邮箱配置举例:

登录QQ邮箱,点击设置——账户:
在这里插入图片描述

开启POP3/SMTP服务:

在这里插入图片描述
用密保手机向1069070069发送短信配置邮件客户端,发送完成后点击我已发送。
在这里插入图片描述

记住授权码,该授权码就是配置发件人时的邮箱密码:
在这里插入图片描述

在pom中引入发送邮件依赖

org.springframework.boot spring-boot-starter-mail 在yml文件配置发件人用户名密码

发送邮件配置

mail:

发件人地址

user: 自己的qq邮箱

发件人密码

password: 密码是第三方登录密码不是原先的邮箱密码
引入邮件发送工具类

/**

  • 发邮件工具类
    */
    @Component
    public final class MailUtils{
    @Value(“ m a i l . u s e r " ) p r i v a t e S t r i n g U S E R ; / / 发 件 人 邮 箱 地 址 @ V a l u e ( " {mail.user}") private String USER; // 发件人邮箱地址 @Value(" mail.user")privateStringUSER;//@Value("{mail.password}”)
    private String PASSWORD; // 如果是qq邮箱可以使户端授权码

/**

  • 发送邮件

  • @param to 收件人邮箱

  • @param text 邮件正文

  • @param title 标题
    */
    public boolean sendMail(String to, String text, String title){
    try {
    final Properties props = new Properties();
    props.put(“mail.smtp.auth”, “true”);
    props.put(“mail.smtp.host”, “smtp.qq.com”);

    // 发件人的账号
    props.put(“mail.user”, USER);
    //发件人的密码
    props.put(“mail.password”, PASSWORD);

    // 构建授权信息,用于进行SMTP进行身份验证
    Authenticator authenticator = new Authenticator() {
    @Override
    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);
    // 设置发件人
    String username = props.getProperty(“mail.user”);
    InternetAddress form = new InternetAddress(username);
    message.setFrom(form);

    // 设置收件人
    InternetAddress toAddress = new InternetAddress(to);
    message.setRecipient(Message.RecipientType.TO, toAddress);

    // 设置邮件标题
    message.setSubject(title);

    // 设置邮件的内容体
    message.setContent(text, “text/html;charset=UTF-8”);
    // 发送邮件
    Transport.send(message);
    return true;
    }catch (Exception e){
    e.printStackTrace();
    }
    return false;
    }
    }
    测试发送邮件方法

@Autowired
private MailUtils mailUtils;

@Test
void sendMail() {
mailUtils.sendMail(“461618768@qq.com”,“这是一封测试邮件”,“测试”);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/84297.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自监督学习系列(四):基于蒸馏的图片掩码学习

前文 好久不见!自监督系列文章继续更新啦!在前几期的文章我们介绍了基于辅助任务,对比学习,和图片掩码学习的自监督学习范式 (对比学习,图片掩码学习其实也可以归属于基于辅助任务的自监督学习,由于这两类…

百度安全怎么查询,怎么彻底解决百度安全弹出的风险提示

当我们在百度搜索自己的网站时,搜索结果中出现各种风险提示,比如安全联盟提醒您:该网站可能存在安全风险,请谨慎访问! 别慌!今天我们就来解决百度安全弹出的风险提示的问题。 第一步:查询网站…

Python 自动化测试框架unittest与pytest的区别

这篇文章主要讲unittest与pytest的区别,pytest相对unittest而言,代码简洁,使用便捷灵活,并且插件很丰富。 Unittest vs Pytest 主要从用例编写规则、用例的前置和后置、参数化、断言、用例执行、失败重运行和报告这几个方面比较…

传奇GOM引擎微端架设教程

传奇GOM引擎微端架设教程 GOM引擎架设微端需要准备好微端程序,用网站下载在服务器的版本 (注:本文章图有打码处因平台GZ原因需打码望读者理解) Mirserver文件一般都是自带微端程序的,偶尔也有版本没有微端程序那我们…

基于多目标遗传算法(NSGA-II)和多目标粒子群算法(MOPSO)的分布式仿真系统双目标负载平衡模型【Matlab代码实现】

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清…

Oracle单机部署:GI安装

Oracle单机部署:GI安装存储配置ASM磁盘空间评估GI单机安装配置GI图形化安装流程安装后测试🐬 使用grid用户来安装GI。 存储配置 Oracle存储支持Oracle ASM、Oracle ACFS、本地文件系统、网络文件系统(NFS/NAS)、Oracle Memory S…

RK3588平台开发系列讲解(RTC篇)RTC的使用

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、RTC简介二、HYM8563驱动配置2.1、设备树配置2.1、驱动代码三、RTC的使用3.1、SYSFS接口3.2、PROCFS接口3.3、IOCTL接口沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍RK3588平台RTC驱动及使用方…

玩以太坊链上项目的必备技能(基本类型转换以及推断-Solidity之旅六)

基本类型之间的转换 熟悉过其他编程语言的您,对基本类型之间的转换并不陌生吧!当然,这基本类型进行转换可分为隐式转换和显示转换。 隐式转换 Solidity 支持隐式转换,通过编译器自动进行转换,而不要开发人员的干涉&…

信道估计算法误码率仿真,对比不同导频长度,对比不同信道估计算法包括CS-OMP,LS,MMSE

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 所谓信道估计,就是从接收数据中将假定的某个信道模型的模型参数出来的过程。如果信道是线性的话,那么信道估计就是对系统冲激响应进行估计。 CS-OMP 正则正交匹配追踪(Re…

分布式操作系统 - 5.分布式命名管理

文章目录1.基本概念2.非结构化命名管理2.1 简单的实体定位方法:广播和多播方法(1)广播方法(broadcast)(2)多播方法(multicast)(3)问题&#xff1a…

图形API学习工程(30):尝试使用panorama来代替Cubemap作为全景图

工程GIT地址:https://gitee.com/yaksue/yaksue-graphics 前言 为了能得到全方位的光照数据,我之前学习了使用CubeMap作为全景图。CubeMap包含六张贴图对应了上下左右前后六个方向的数据。但是最近在下载全景图的资源时,看到很多并非是CubeM…

Python基于Django的毕业设计论文提交过程管理系统

项目介绍 在各学校的教学过程中,django过程管理系统是一项非常重要的事情。随着计算机多媒体技术的发展和网络的普及。采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目的是建立一个配合网络环境的django过程管理系统的平台,这…

c#入门-访问基类成员

调用基类构造器 在构建派生类前,会首先构建出完整的基类。 即便是派生类无权访问的成员,也会存在。 因此才能保证派生类能完全地当作基类来使用。 因此,在执行派生类的构造器前,首先需要先调用基类的构造器。 而如果基类没有&am…

017 | 精准扶贫视野下非遗传承的研究与启示——以三峡皮影为例 | 大学生创新训练项目申请书 | 极致技术工厂

(一)研究目的 百年党建视域下,全面建成小康社会的历史目标已成功达成,但东西部经济发展的不平衡、不平均依旧是新时代发展中亟需解决的问题。坚持党的领导,响应西部大开发的战略号召,本团队深入探访于2018…

S2SH药膳馆会员管理系统计算机专业毕业论文java毕业设计开题报告

💖💖更多项目资源,最下方联系我们✨✨✨✨✨✨ 目录 Java项目介绍 资料获取 Java项目介绍 计算机毕业设计java毕设之S2SH药膳馆会员管理系统-IT实战营_哔哩哔哩_bilibili项目资料网址: http://itzygogogo.com软件下载地址:http://itzygog…

基于jsp+mysql+ssm足球新闻发布网站-计算机毕业设计

项目介绍 同完成整个足球新闻发布系统的设计开发。系统实现的功能主要包括:前台浏览足球新闻的功能;后台用户在成功登录该系统的后台时,可以对用户、足球新闻类别、足球新闻、留言进行添加、修改和删除等功能;以及对用户名密码等…

Arthas(Java 应用诊断利器)

文章目录Arthas使用背景Arthas(阿尔萨斯)能做什么?Arthas Spring Boot StarterArthas Arthas 是由Alibaba开源的Java监控诊断工具,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情…

Pytorch中的损失函数

L1损失函数:又称,L1 范数损失、最小绝对值偏差(LAD)、最小绝对值误差(LAE) MAE也是指L1损失函数。 把目标值 yi 与模型输出(估计值) f(xi) 做绝对值得到的误差。 通常用于回归任务、…

uniapp实战仿写网易云音乐(二)—promise接口请求的封装和主页功能的实现,组件封装

文章目录前言promise请求接口的封装主入口功能的实现:推荐歌单模块新碟新歌模块精选视频模块最后前言 本篇文章继续完成上篇文章的部分,主要实现prromise接口的封装和首页主入口的实现 promise请求接口的封装 在上篇文章中请求我们是这样写的&#xf…

(详细及解决方法)关于Vue.prototype中定义的变量不是响应式

目录 一、背景 二、原因 三、解决方法 四、扩展 当时第一眼看到下面的图,就想这个不会是写错了吧,咋还能这样写,在这里我承认,我以前说话确实很大声了 一、背景 在项目中需要将全局变量存放到Vue的实例对象上面 Vue.protot…