「这是我参与11月更文挑战的第21天,活动详情查看:2021最后一次更文挑战」。
在 Spring Boot 项目开发中,或多或少会接触到邮件发送这个功能,若要在 Spring 项目中实现发送邮件,需要封装较为复杂的消息体,但在 Spring Boot 项目中仅需导入第三方依赖以及配置即可完成。
本文以 163 邮箱为例演示邮件发送功能的实现,其他邮箱的配置大同小异。
- 获取邮箱的授权码
常用的邮件传输协议有 POP3
、SMTP
、IMAP
,这里选择 SMTP
协议进行演示。
首先我们登录自己的邮箱,在设置中找到协议地址:
然后点击开启服务,获得授权码(授权码仅显示一次,务必保管好):
如下是网易邮箱对应的三种协议主机地址:
- 引入依赖
1 | xml复制代码<dependency> |
- 配置邮箱信息
⭐注意:如下 password
指向的是刚刚保存的授权码,而非个人邮箱密码。
1 | yaml复制代码spring: |
- 发送邮件
4.1 纯文本邮件
如下封装了 SimpleMailMessage
消息内容,注入 JavaMailSender
并调用其 send()
以完成邮件发送功能。其中收件人和抄送人可支持多个同时发送,多个地址间使用 ,
拼接即可:
1 | java复制代码@RestController |
4.2 HTML 格式邮件⭐
与发送纯文本不同的是,发送 HTML 格式需要创建一个 MIME
消息,并将其注入到 MimeMessageHelper
对象中,但仍是以 JavaMailSender
接口进行发送:
1 | java复制代码@RestController |
4.3 携带附件的邮件⭐
相对于发送 HTML 仅多增加了 addAttachment()
方法:
1 | java复制代码@RestController |
4.4 内嵌图片邮件
addInline()
实现发送图片:
1 | java复制代码@RestController |
至此,我们就在 Spring Boot 环境中快速实现了邮件发送功能,是不是比想象中的还要简单且迅速?!
希望本文对你有所帮助🧠
欢迎在评论区留下你的看法🌊,我们一起讨论与分享🔥
本文转载自: 掘金