SpringBoot发送邮件
开启邮箱服务
以QQ邮箱为例,进入QQ邮箱,点击设置,账户,找到图中框出的地方,点击开启
按步骤操作,会生成一串密码,一定要保存好,这串密码是配置时代替密码的
SpringBoot配置
导入需要的包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
yml配置
spring:
mail:
username: 邮箱号
password: xxxxxxxx(上面开启邮箱服务后生成的密码)
host: smtp.qq.com
#开启加密验证(QQ邮箱需要,网易不需要)
properties:
mail:
smtp:
ssl:
enabled: true
为了方便我就在测试类中测试了,首先是简单的文本邮件
@Test
void contextLoads() {
/*
* 简单文字邮件
* */
SimpleMailMessage mailMessage = new SimpleMailMessage();
//设置主题
mailMessage.setSubject("Springboot发邮件");
//内容
mailMessage.setText("测试Springboot发邮件~~");
mailMessage.setTo("1520711456@qq.com");
mailMessage.setFrom("1520711456@qq.com");
mailSender.send(mailMessage);
}
发送成功
复杂的邮件,包括附件的
@Test
void contextLoads1() {
/*
* 复杂邮件
* */
MimeMessage mimeMessage = mailSender.createMimeMessage();
try {
//组装
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
//正文
helper.setSubject("SpringBoot复杂邮件");
helper.setText("<p style='color:red'>测试SpringBoot复杂邮件</p>",true);
//附件
helper.addAttachment("测试邮件.txt",new File("D:\\桌面\\测试邮件.txt"));
helper.setTo("1520711456@qq.com");
helper.setFrom("1520711456@qq.com");
} catch (MessagingException e) {
e.printStackTrace();
}
mailSender.send(mimeMessage);
}
发送成功
字体也由于html的设置变成了红色,附件可下载。