当前位置: 首页 > article >正文

spring boot 发送邮件验证码

一、前置需求

1、准备邮箱
2、登录授权码
qq邮箱在–>设置–>账号POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
开启服务

二、发送邮件

1、简单邮件
包含邮件标题、邮件正文
2、引入mail启动器

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

3、mail参数配置
application.yml

mail:
  username: User@qq.com				#填写邮箱地址
  password: 123456					#填写授权码
  host: smtp.qq.com					#发送邮件的host

4、API
JavaMailSender:发送邮件的客户端
send(mail)
SimpleMailMessage:分装简单的邮件的Bean
setSubject(标题)
setText(正文)
setTo(收件地址)
setFrom(发件地址)

@Service
public class SendEmailCodeService {
    //发送邮件验证码
    public static void sendEmailCode(JavaMailSender mailSender, String email, String subject, String code) throws MailSendException {
        //TODO: 发送邮件验证码
        SimpleMailMessage message = new SimpleMailMessage(); //创建SimpleMailMessage对象
        message.setFrom("User@qq.com"); //设置发件人
        message.setSubject(subject); //设置邮件主题
        message.setText("您的验证码为:" + code); //设置邮件内容
        message.setTo(email); //设置收件人邮箱
        mailSender.send(message); //发送邮件
    }
}

我配置的是qq邮箱,发送邮件时报错:
在这里插入图片描述
经过查询:解决方法配置application.yml
发送邮件:530 Login fail. A secure connection is requiered(such as ssl)

在这里插入图片描述
发送成功
在这里插入图片描述

三、复杂邮件

1、复杂邮件有更加丰富的内容,如:图片、链接、附件等
2、API
JavaMailSender:发送邮件的客户端
send(mail)
MimeMessage:封装复杂邮件的Bean
send.createMimeMessage()
MimeMessageHelper:设置复杂邮件的辅助工具
setSubject(标题)
setText(正文,escapeHtml)
setTo(收件地址)
setFrom(发件地址)
addAttachment(fileName,file)


http://www.kler.cn/a/587711.html

相关文章:

  • 解锁健康密码:拥抱养生,重塑生活
  • python笔记2
  • Ubuntu 18,04 LTS 通过APT安装mips64el的交叉编译器。
  • TCP/IP四层网络模型
  • 玩转github
  • c#Winform也可以跨平台了GTK框架GTKSystem.Windows.Forms
  • 跳跃游戏 (leetcode 55
  • 012---状态机的基本知识
  • 《从零手写Linux Shell:详解进程控制、环境变量与内建命令实现 --- 持续更新》
  • 解决Windows版Redis无法远程连接的问题
  • Dify Docker 私有化部署遇到的问题
  • STM32步进电机S型与T型加减速算法
  • Profinet转Profinet以创新网关模块为核心搭建西门子和欧姆龙PLC稳定通讯架构案例​
  • 玩转python:通俗易懂掌握高级数据结构-collections模块之ChainMap
  • 2Android中的AIDL是什么以及如何使用它
  • 【数学基础】线性代数#1向量和矩阵初步
  • GreenKGC: A Lightweight Knowledge Graph Completion Method(论文笔记)
  • 品铂科技核心技术与应用解析
  • 小程序配置
  • 大模型GGUF和LLaMA的区别