SpringBoot JavaMailSender 发送邮件
Spring给我们提供了一个非常好用的发送邮件接口 JavaMailSender 本文主要讲述如何在SpringBoot中使用 JavaMailSender 发送邮件
先创建一个springboot项目,引入JavaMailSender 的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
所有的配置都做好了,下面我们先发送一份简单邮件试试 邮件主题:简单邮件1 邮件内容:测试邮件内容1
@RestController
public class SendController {
@Autowired
private JavaMailSender mailSender;
@Value("${spring.mail.username}")
private String from;
@RequestMapping("send1")
public String send1(){
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom(from);
message.setTo("目标邮箱");
message.setSubject("主题:简单邮件1");
message.setText("测试邮件内容1");
mailSender.send(message);
return "发送成功";
}
}
在邮件内容中插入图片
@RequestMapping("send2")
public String send2(){
MimeMessage message = mailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(from);
helper.setTo("目标邮箱");
helper.setSubject("带图片的邮件");
helper.setText("<html><body>123456<br>下面是图片<br><img width=250px src=cid:img110 ></body></html>", true);
File file = new File(ClassUtils.getDefaultClassLoader().getResource("").getPath()+"static/img/测试.png");
FileSystemResource res = new FileSystemResource(file);
helper.addInline("img110", res);
} catch (MessagingException e) {
System.out.println("邮件创建失败");
e.printStackTrace();
}
mailSender.send(message);
return "发送成功";
}
发送带附件的邮件
@RequestMapping("send3")
public String send3(){
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = null;
try {
helper = new MimeMessageHelper(message, true);
helper.setFrom(from);
helper.setTo("目标邮箱地址");
helper.setSubject("带附件的邮件");
helper.setText("自己看附件了", true);
FileSystemResource file = new FileSystemResource(new File(ClassUtils.getDefaultClassLoader().getResource("").getPath()+"static/file/测试.rar"));
String fileName = file.getFilename();
helper.addAttachment(fileName, file);
} catch (MessagingException e) {
e.printStackTrace();
}
mailSender.send(message);
return "发送成功";
}
接受到的邮件内容如下所示
参考:
