Kaynağa Gözat

feat: 使邮件服务支持html形式

haha 2 yıl önce
ebeveyn
işleme
1e825b5bd4

+ 4 - 0
src/main/java/com/seecoder/config/K8sApiConfiguration.java

@@ -0,0 +1,4 @@
+package com.seecoder.config;
+
+public class K8sApiConfiguration {
+}

+ 1 - 1
src/main/java/com/seecoder/controller/MessageController.java

@@ -25,7 +25,7 @@ public class MessageController {
 
     @PostMapping("/mail")
     public Response<Void> sendByMail(@RequestBody SendByMailReq req) {
-        messageService.sendMail(req.getReceivers(), req.getSubject(), req.getText());
+        messageService.sendMail(req.getReceivers(), req.getSubject(), req.getText(),req.getIsHtml());
         return Response.ok();
     }
 }

+ 1 - 0
src/main/java/com/seecoder/entity/req/SendByMailReq.java

@@ -9,4 +9,5 @@ public class SendByMailReq {
     Set<String> receivers;
     String subject;
     String text;
+    Boolean isHtml;
 }

+ 1 - 1
src/main/java/com/seecoder/service/MessageService.java

@@ -3,7 +3,7 @@ package com.seecoder.service;
 import java.util.Set;
 
 public interface MessageService {
-    void sendMail(Set<String> receivers, String subject, String text);
+    void sendMail(Set<String> receivers, String subject, String text,Boolean isHtml);
 
     void sendByPhone(String phone,String text);
 }

+ 16 - 9
src/main/java/com/seecoder/service/impl/MessageServiceImpl.java

@@ -6,8 +6,10 @@ import lombok.AllArgsConstructor;
 import org.springframework.core.env.Environment;
 import org.springframework.mail.SimpleMailMessage;
 import org.springframework.mail.javamail.JavaMailSender;
+import org.springframework.mail.javamail.MimeMessageHelper;
 import org.springframework.stereotype.Service;
 
+import javax.mail.internet.MimeMessage;
 import java.util.Date;
 import java.util.Objects;
 import java.util.Set;
@@ -20,15 +22,20 @@ public class MessageServiceImpl implements MessageService {
     private final AliService aliService;
 
     @Override
-    public void sendMail(Set<String> receivers, String subject, String text) {
-        SimpleMailMessage message = new SimpleMailMessage();
-        message.setSubject(subject);
-        message.setFrom(Objects.requireNonNull(environment.getProperty("spring.mail.username")));
-        message.setTo(receivers.toArray(new String[0]));
-        message.setSentDate(new Date());
-        message.setText(text);
-        // 发送邮件
-        javaMailSender.send(message);
+    public void sendMail(Set<String> receivers, String subject, String text, Boolean isHtml) {
+        MimeMessage message = javaMailSender.createMimeMessage();
+        try{
+            MimeMessageHelper helper = new MimeMessageHelper(message,false);
+            helper.setSubject(subject);
+            helper.setFrom(Objects.requireNonNull(environment.getProperty("spring.mail.username")));
+            helper.setTo(receivers.toArray(new String[0]));
+            helper.setSentDate(new Date());
+            helper.setText(text, isHtml == null || isHtml);
+            // 发送邮件
+            javaMailSender.send(message);
+        }catch (Exception e){
+            throw new RuntimeException(e);
+        }
     }
 
     @Override