malei05 1 månad sedan
förälder
incheckning
f2ec810bb5

+ 6 - 0
pom.xml

@@ -144,6 +144,12 @@
             <version>1.0.0-SNAPSHOT</version>
         </dependency>
 
+        <!-- Spring Boot Mail (替换 Hutool MailUtil) -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-mail</artifactId>
+        </dependency>
+
         <!-- Hutool 工具库 -->
         <dependency>
             <groupId>cn.hutool</groupId>

+ 5 - 1
src/main/java/net/yyc/quartz/executor/JobBriefingExecutor.java

@@ -2,6 +2,7 @@ package net.yyc.quartz.executor;
 
 import cn.hutool.core.util.StrUtil;
 import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Value;
 import lombok.extern.slf4j.Slf4j;
 import net.yyc.quartz.entity.JobBriefing;
 import net.yyc.quartz.service.EmailService;
@@ -21,6 +22,9 @@ public class JobBriefingExecutor {
     private final JobBriefingService jobBriefingService;
     private final EmailService emailService;
 
+    @Value("${spring.profiles.active:unknown}")
+    private String activeProfile;
+
     private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
 
     /**
@@ -35,7 +39,7 @@ public class JobBriefingExecutor {
 
             log.info("[简报] 开始构建简报内容");
             String content = buildEmailContent(briefing);
-            String subject = String.format("【定时任务简报】%s", briefing.getReportDate().format(DATE_FORMATTER));
+            String subject = String.format("【%s-定时任务简报】%s", activeProfile, briefing.getReportDate().format(DATE_FORMATTER));
 
             log.info("[简报] 准备发送邮件");
             boolean success = emailService.sendBriefing(content, subject);

+ 15 - 3
src/main/java/net/yyc/quartz/service/impl/EmailServiceImpl.java

@@ -1,20 +1,32 @@
 package net.yyc.quartz.service.impl;
 
-import cn.hutool.extra.mail.MailUtil;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import net.yyc.quartz.service.EmailService;
+import org.springframework.mail.javamail.JavaMailSender;
+import org.springframework.mail.javamail.MimeMessageHelper;
 import org.springframework.stereotype.Service;
 
+import javax.mail.internet.MimeMessage;
+
 @Slf4j
 @Service
+@RequiredArgsConstructor
 public class EmailServiceImpl implements EmailService {
 
-    private static final String mailTo = "malei@yaoyi.net";
+    private static final String MAIL_TO = "malei@yaoyi.net";
+
+    private final JavaMailSender mailSender;
 
     @Override
     public boolean sendBriefing(String content, String subject) {
         try {
-            MailUtil.send(mailTo, subject, content, true);
+            MimeMessage message = mailSender.createMimeMessage();
+            MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");
+            helper.setTo(MAIL_TO);
+            helper.setSubject(subject);
+            helper.setText(content, true);
+            mailSender.send(message);
             log.info("[邮件] 发送成功 | subject={}", subject);
             return true;
         } catch (Exception e) {