目录
前言
一、准备工作
二、发送普通邮件
三、发送文件
结语
【一心同学】正在参加【博客之星】
希望各位大佬能够投【五星】⭐ ⭐ ⭐ ⭐ ⭐给予【一心同学】,每一份投票都是【一心同学】的动力。
【一心同学】投票专区入口:https://bbs.csdn.net/topics/603956556
想要学到更多后端知识,欢迎关注【一心同学】
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️
前言
发送邮件可以说是网站的必备拓展功能之一,注册验证,忘记密码或者是给用户发送营销信息,这些都需要我们去实现邮箱功能。
一、准备工作
(1)导入pom依赖
org.springframework.boot spring-boot-starter-mail
(2)获取授权码:在QQ邮箱中的设置->账户->开启pop3和smtp服务
这个时候就会弹出我们的授权码,记录一下。
(3)编写配置文件
application.yml:
spring:
mail:
# 配置 SMTP 服务器地址
host: smtp.qq.com
# 发送者邮箱
username: 12*****15@qq.com
# 配置密码,注意不是真正的密码,而是刚刚申请到的授权码
password: 授权码信息
# 端口号465或587
port: 587
# 默认的邮件编码为UTF-8
default-encoding: UTF-8
# 配置SSL 加密工厂
properties:
mail:
smtp:
socketFactoryClass: javax.net.ssl.SSLSocketFactory
#表示开启 DEBUG 模式,这样,邮件发送过程的日志会在控制台打印出来,方便排查错误
debug: true
常见的邮箱基本信息:
| 邮箱 | SMTP服务器地址 | 端口号 |
| 126邮箱 | smtp.126.com | 465或者994 |
| 163邮箱 | smtp.163.com | 465或者994 |
| QQ邮箱 | smtp.qq.com | 465或587 |
二、发送普通邮件
(1)编写测试
@SpringBootTest
class DemoApplicationTests {
@Autowired
JavaMailSenderImpl mailSender;
@Test
public void contextLoads() {
// 构建一个邮件对象
SimpleMailMessage message = new SimpleMailMessage();
// 设置邮件主题
message.setSubject("一心的课堂");
// 设置邮件的正文
message.setText("想学【后端】就关注【一心同学】");
// 设置邮件接收者,可以有多个接收者,中间用逗号隔开,以下类似
//message.setTo("12******15@qq.com","17*****3@qq.com");
// 设置邮件接收人,可以有多个接收人
message.setTo("17******3@qq.com");
// 设置邮件发送者,这个跟application.yml中设置的要一致
message.setFrom("12*****15@qq.com");
// 发送邮件
mailSender.send(message);
}
}
(2)查看QQ邮箱
三、发送文件
(1)编写测试
@SpringBootTest
class DemoApplicationTests {
@Autowired
JavaMailSenderImpl mailSender;
@Test
public void contextLoads2() throws MessagingException {
//邮件设置2:一个复杂的邮件
MimeMessage mimeMessage = mailSender.createMimeMessage();
// true表示构建一个可以带附件的邮件对象
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
helper.setSubject("一心课堂");
helper.setText("【发送文件测试】",true);
//发送附件
// 第一个参数是自定义的名称,后缀需要加上,第二个参数是文件的位置
helper.addAttachment("name.jpg",new File("C:\Users\Administrator\Desktop\new1\img\1.jpg"));
helper.setTo("12******5@qq.com");
helper.setFrom("12******5@qq.com");
mailSender.send(mimeMessage);
}
}
(2)查看QQ邮箱
查看邮箱,邮件接收成功!
结语
以上就是【一心同学】整理的基于SpringBoot搭建发送邮件功能的知识点讲解,大家可以自己上手测试一下,在实际开发中,这个功能还是相当实用的。



