如何使用springboot发送qq邮件
(一)新建maven工程
(二)引入相应依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
<version>2.5.6</version>
</dependency>
(三)登录qq邮箱
1、顶部设置---->账户
确认smtp服务开启,然后生成授权码,保存下来,后面会用到
在springboot配置文件中配置发送邮件的邮箱
spring:
mail:
host: smtp.qq.com
username: //发送qq邮件的邮箱(xxxx@qq.com)
password: //刚刚生成的qq邮箱授权码
port: 465 //端口选填,如果不填写会使用默认端口
然后就可以开始编写邮件内容了!
邮件类型可大致分为一下三种
1、简单文本信息的邮件
2、带有html的邮件
3、带有文件的邮件
以下为三种邮件类型的简单示例
class ResearchAgencyApplicationTests {
@Autowired
private JavaMailSender javaMailSender;
@Value("${spring.mail.username}")
private String from;
/**
* 发送简单文本文件
*/
@Test
void contextLoads() {
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setFrom(from);//从配置文件中读取发送者信息,下同
simpleMailMessage.setTo("xxxx@qq.com");//配置接收邮件的qq邮箱
simpleMailMessage.setSubject("测试");//邮件的标题
simpleMailMessage.setText("测试");//邮件的文本内容
javaMailSender.send(simpleMailMessage); //发送邮件
}
/**
* 发送html邮件
* @throws MessagingException
*/
@Test
void test01() throws MessagingException {
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage);
helper.setFrom(from);
helper.setTo(from);
helper.setSubject("测试1");
helper.setText("<h1>测试1</h1>",true);
javaMailSender.send(mimeMessage);
}
/**
* 发送带有附件的邮件
*/
@Test
void test02() throws MessagingException {
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
helper.setFrom(from);
helper.setTo(from);
helper.setSubject("带有附件的邮件");
helper.setText("<h1>带有附件的邮件</h1>",true);
FileSystemResource fileSystemResource = new FileSystemResource(new File("文件的路径"));
helper.addAttachment("文件的名字",fileSystemResource);
javaMailSender.send(mimeMessage);
}
}
以上就是通过springboot发送简单邮件的大致流程啦!
因为是几个月前作的项目了,如果有什么遗漏的地方还请谅解,评论区欢迎指正!