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("发送成功"));
    }

 

posted @ 2022-08-04 11:32  小样儿i  阅读(40)  评论(0)    收藏  举报