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

SpringBoot发送邮件

目录

  • 1. 获取授权码
  • 2. jar包引入
  • 3. 配置application
  • 4. 代码实现

1. 获取授权码

  • 以126邮箱为例,点开设置,选择POP3/SMTP/IMAP

在这里插入图片描述

  • 开启POP3/SMTP服务,新增授权密码

在这里插入图片描述

  • 扫码二维码,发送要求的短信内容到指定的号码即可,然后会返回授权密码

在这里插入图片描述

2. jar包引入

implementation group: 'org.springframework.boot', name: 'spring-boot-starter-mail'

3. 配置application

# 默认编码
spring.mail.default-encoding=utf-8
# 邮件服务器的地址
spring.mail.host=smtp.126.com
# 用户的账号
spring.mail.username=111@126.com
# 授权密码
spring.mail.password=xxx
# 邮件服务器的端口
spring.mail.port=465
# SSL 连接配置
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.properties.mail.smtp.ssl.required=true
# 开启debug,查看邮件发送日志
spring.mail.properties.mail.debug=true
# 邮件接收者
mail.userlist=123@qq.com,456@qq.com

在这里插入图片描述

4. 代码实现

  • 包括普通邮件和带附件有样式的邮件
import java.io.File;
import java.util.Date;import javax.annotation.Resource;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import lombok.extern.slf4j.Slf4j;/*** EmailController*/
@RestController
@Slf4j
public class EmailController {@Value("${spring.mail.username}")private String mailUsername;@Value("${mail.userlist}")private String mailUserList;@Resourceprivate JavaMailSender javaMailSender;/*** 普通邮件*/@GetMapping("/simpleMsg")public void simpleMsg() {SimpleMailMessage simpMsg = new SimpleMailMessage();// 发件人simpMsg.setFrom(mailUsername);// 收件人,多个人使用逗号分割simpMsg.setTo(mailUserList.split(","));// 主题simpMsg.setSubject("Hello world!");// 内容simpMsg.setText("哈哈哈\n哈哈哈");// 发送时间simpMsg.setSentDate(new Date());javaMailSender.send(simpMsg);}/*** 带附件和内容是html格式的邮件* * @throws MessagingException*/@GetMapping("htmlMsg")public void htmlMsg() throws MessagingException {MimeMessage message = javaMailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(message, true);// 发件人helper.setFrom(mailUsername);// 收件人,多个人使用逗号分割helper.setTo(mailUserList.split(","));// 主题helper.setSubject("Hello world!");// 内容(true表示内容为html)helper.setText("<h1>哈哈哈h1</h1>\n哈哈哈", true);// 发送时间helper.setSentDate(new Date());// 附件File file = new File("/Users/xxx/Downloads/cceda5ad-df31-4610-9b63-ed0503561934.jpg");helper.addAttachment(file.getName(), file);javaMailSender.send(message);}}
  • 普通邮件效果

在这里插入图片描述

  • 带附件有样式的效果

在这里插入图片描述

http://www.lryc.cn/news/31465.html

相关文章:

  • BigInteger类和BigDecimal类的简单介绍
  • mysql五种索引类型---实操版本
  • 【微信小程序】-- 页面导航 -- 编程式导航(二十三)
  • 路由追踪工具 traceroute 使用技巧
  • NGINX学习笔记 - 一篇了解NGINX的基本概念(一)
  • Spring-Cloud-Gateway的过滤器的执行顺序问题
  • Android性能优化的底层逻辑
  • Gradle+SpringBoot多模块开发
  • Qt 之 emit、signals、slot的使用
  • 每日学术速递3.6
  • C# 将对象转换成字节数组(二进制数据)
  • 巾帼绽芬芳 一起向未来(下篇)
  • 代码还原小试牛刀(一):魔改的MD5
  • 6. 找大佬
  • 【CSS】标签显示模式 ① ( 标签显示模式 | 块级元素 )
  • hive真实表空间大小统计
  • 微信小程序引入Vant UI步骤
  • 【震撼发布】《致敬未来的攻城狮计划》| 文末赠书3本
  • 8.装饰者模式
  • GIT基础常用命令-1 GIT基础篇
  • 华为OD机试题,用 Java 解【数列描述】问题
  • 2022掉队的“蔚小理”,按下了兔年加速键
  • 【NLP相关】attention的代码实现
  • 凌恩生物资讯
  • Leetcode 148. 排序链表(二路归并)
  • 记录Paint部分常用的方法
  • ArrayList集合底层原理
  • 内网部署swagger快解析映射方案发布让外网访问
  • 全网最全整理,自动化测试10种场景处理(超详细)解决方案都在这......
  • 【c++】指针的学习