springBoot发送邮件
导入相关依赖
<!--邮件--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> <version>2.6.3</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.2</version> </dependency>
在yml中对邮件的相关环境进行配置
mail: host: xxxx.qq.com username: xxxx password: xxxxxxxx port: 465 properties: mail: smtp: auth: true socketFactory: class: javax.net.ssl.SSLSocketFactory starttls: enable: true
发送邮件代码
@RequestMapping("/sendMail")
public ResponseEntity<CommonResult<Object>> sendMail(@RequestBody JSONObject jsonObject) {
List<String> paths = (List<String>) jsonObject.get("paths");
String email = (String) jsonObject.get("email");
//发送邮件
Calendar sendDate = Calendar.getInstance();
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
MimeMessageHelper helper = null;
List<String> list = new ArrayList<>();
String filePath = "";
try {
helper = new MimeMessageHelper(mimeMessage, true);
helper.setSubject("项目建设动态");
//不设置 setText 邮件发送不成功
helper.setText("详情请参见附件内容");
helper.setFrom(fromEmail);
helper.setSentDate(sendDate.getTime());
helper.setTo(email);
helper.setSubject("项目建设动态日报");
for (int i = 0; i < paths.size(); i++) {
filePath = "D:/xxiang/emailWord/word" + UUID.randomUUID() + ".docx";
UrlToMultipartFileUtil.downloadFileFromUrl(paths.get(i), filePath);
File file1 = new File(filePath);
FileSystemResource files = new FileSystemResource(file1);
helper.addAttachment(sendDate.get(Calendar.YEAR) + "项目建设动态日报" + (i + 1) + ".docx", files);
list.add(paths.get(i));
}
} catch (Exception e) {
e.printStackTrace();
return ResponseEntity.ok(CommonResult.failed("发送失败"));
}
javaMailSender.send(mimeMessage);
WordUtils.deleteDir("D:/xxiang/emailWord");
return ResponseEntity.ok(CommonResult.success("发送成功"));
}

浙公网安备 33010602011771号