使用SpringBoot实现邮件发送的准备工作:
1、导入maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2、在配置文件中加入以下内容
#邮箱地址
spring.mail.username=1323750824@qq.com
#邮箱的授权码
spring.mail.password=jkueggqbpdeb
spring.mail.host=smtp.qq.com
# qq需要配置ssl
spring.mail.properties.mail.smtp.ssl.enable=true
接下来在测试文件中测试一下:
一、发送一个简单的邮件,要用到JavaMailSenderImpl这个实现类的send()方法,看一下这个方法都有哪些参数:
如果只要发送一个简单邮件,传一个SimpleMailMessage对象就可以了,下面就来测试一下。
@Autowired
JavaMailSenderImpl javaMailSender;
@Test
void contextLoads() {
//一个简单的邮件
SimpleMailMessage message = new SimpleMailMessage();
message.setSubject("测试邮件1"); //主题
message.setText("一个简单的测试邮件。"); //内容
message.setTo("1323750824@qq.com");
message.setFrom("1323750824@qq.com");
javaMailSender.send(message);
}
测试的时候记得发送邮件需要联网,下面是收到的信息。
二、发送一个复杂的邮件,带有附件。
此时我们就要改变传递的参数,不能再用SimpleMailMessage了,要用MimeMessage。
@Test
void test() throws MessagingException {
//一个复杂的邮件
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
helper.setSubject("测试邮件2"); //主题
helper.setText("<b style='color:blue'>一个复杂的测试邮件。</b>",true);
//发送附件
helper.addAttachment("胡桃老婆.jpg",new File("C:\\Users\\akunda\\Desktop\\1.jpg"));
helper.setTo("1323750824@qq.com");
helper.setFrom("1323750824@qq.com");
javaMailSender.send(mimeMessage);
}
传递附件的时候,可以选择使用文件的绝对路径,我就是把附件放在桌面,然后测试的。
测试结果:成功发送了一只可爱的胡桃!
大家快去试试吧!如果不知道怎么上手,可以看看视频,推荐狂神说SpringBoot