From c74a6f59490cfb9a0ee37f70427739b74e7fbd58 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 20 五月 2026 08:50:29 +0800
Subject: [PATCH] 代码生成

---
 server/services/src/main/java/com/doumee/service/common/EmailService.java |  162 +++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 105 insertions(+), 57 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/service/common/EmailService.java b/server/services/src/main/java/com/doumee/service/common/EmailService.java
index e511c37..4798fcc 100644
--- a/server/services/src/main/java/com/doumee/service/common/EmailService.java
+++ b/server/services/src/main/java/com/doumee/service/common/EmailService.java
@@ -1,9 +1,10 @@
 package com.doumee.service.common;
 
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.AnnotationConfigApplicationContext;
 import org.springframework.core.io.FileSystemResource;
+import org.springframework.mail.SimpleMailMessage;
 import org.springframework.mail.javamail.JavaMailSender;
 import org.springframework.mail.javamail.MimeMessageHelper;
 import org.springframework.stereotype.Service;
@@ -13,67 +14,114 @@
 import java.util.List;
 import java.util.Map;
 
+@Slf4j
 @Service
 public class EmailService {
+
     @Autowired
-    private JavaMailSender javaMailSender;//娉ㄥ叆JavaMailSender
+    private JavaMailSender javaMailSender;
+
     @Value("${spring.mail.username}")
     private String fromEmail;
-    public boolean sendEmailWithLocalFiles(String toEmail, String title, String content, List<Map<String,Object>> fileList) {
+
+    /**
+     * 鍙戦�佺函鏂囨湰閭欢
+     */
+    public boolean sendText(String toEmail, String subject, String text) {
         try {
-                AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
-                context.refresh();
-                MimeMessage message = javaMailSender.createMimeMessage();
-                MimeMessageHelper helper = new MimeMessageHelper(message, true);
-                helper.setTo(toEmail);
-                helper.setFrom(fromEmail);
-                helper.setSubject(title);
-                helper.setText(content);
-                if(fileList!=null){
-                    for (Map<String,Object> f : fileList){
-                        // 璁剧疆闄勪欢
-                        helper.addAttachment((String) f.get("name"),new FileSystemResource((File) f.get("file")));
-                    }
-                }
+            SimpleMailMessage message = new SimpleMailMessage();
+            message.setTo(toEmail);
+            message.setFrom(fromEmail);
+            message.setSubject(subject);
+            message.setText(text);
             javaMailSender.send(message);
-                    System.out.println("閭欢鍙戦�佹垚鍔燂紒");
-                    return true;
-            } catch (Exception e) {
-            e.printStackTrace();
-                    return false;
-                }
-            }
-    public boolean sendEmailWithImages(String toEmail, String title, Map<String,String> contentForm, List<String> imgList) {
-        try {
-                AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
-                context.refresh();
-                MimeMessage message = javaMailSender.createMimeMessage();
-                MimeMessageHelper helper = new MimeMessageHelper(message, true);
-                helper.setTo(toEmail);
-                helper.setFrom(fromEmail);
-                helper.setSubject(title);
-                String content = "<html><body>";
-                if(contentForm!=null){
-                    for (Map.Entry<String, String> f : contentForm.entrySet()) {
-                        // 璁剧疆闄勪欢
-                        content += "<div style='display:block;'>"+f.getKey()+"锛�"+f.getValue()+"</p>";
-                    }
-                }
-                if(imgList!=null){
-                    content += "<div style='display:block;'> ";
-                    for (String f : imgList){
-                        // 璁剧疆闄勪欢
-                        content += "<a href='"+f+"' target='blank'><img style='width:200px;margin:5px' src='"+f+"'/></a>";
-                    }
-                }
-            content += "</div></body><html>";
-            helper.setText(content,true);
-            javaMailSender.send(message);
-                    System.out.println("閭欢鍙戦�佹垚鍔燂紒");
-                    return true;
-            } catch (Exception e) {
-            e.printStackTrace();
-                    return false;
-                }
-            }
+            log.info("绾枃鏈偖浠跺彂閫佹垚鍔�: to={}", toEmail);
+            return true;
+        } catch (Exception e) {
+            log.error("绾枃鏈偖浠跺彂閫佸け璐�: to={}, error={}", toEmail, e.getMessage());
+            return false;
+        }
     }
+
+    /**
+     * 鍙戦�丠TML閭欢
+     */
+    public boolean sendHtml(String toEmail, String subject, String html) {
+        try {
+            MimeMessage message = javaMailSender.createMimeMessage();
+            MimeMessageHelper helper = new MimeMessageHelper(message, true);
+            helper.setTo(toEmail);
+            helper.setFrom(fromEmail);
+            helper.setSubject(subject);
+            helper.setText(html, true);
+            javaMailSender.send(message);
+            log.info("HTML閭欢鍙戦�佹垚鍔�: to={}", toEmail);
+            return true;
+        } catch (Exception e) {
+            log.error("HTML閭欢鍙戦�佸け璐�: to={}, error={}", toEmail, e.getMessage());
+            return false;
+        }
+    }
+
+    /**
+     * 鍙戦�佸甫闄勪欢閭欢
+     * @param fileList 闄勪欢鍒楄〃锛屾瘡涓狹ap鍖呭惈 name(鏂囦欢鍚�) 鍜� file(File瀵硅薄)
+     */
+    public boolean sendWithAttachment(String toEmail, String subject, String text, List<Map<String, Object>> fileList) {
+        try {
+            MimeMessage message = javaMailSender.createMimeMessage();
+            MimeMessageHelper helper = new MimeMessageHelper(message, true);
+            helper.setTo(toEmail);
+            helper.setFrom(fromEmail);
+            helper.setSubject(subject);
+            helper.setText(text);
+            if (fileList != null) {
+                for (Map<String, Object> f : fileList) {
+                    helper.addAttachment((String) f.get("name"), new FileSystemResource((File) f.get("file")));
+                }
+            }
+            javaMailSender.send(message);
+            log.info("闄勪欢閭欢鍙戦�佹垚鍔�: to={}", toEmail);
+            return true;
+        } catch (Exception e) {
+            log.error("闄勪欢閭欢鍙戦�佸け璐�: to={}, error={}", toEmail, e.getMessage());
+            return false;
+        }
+    }
+
+    /**
+     * 鍙戦�佸甫鍐呭祵鍥剧墖鐨凥TML閭欢
+     * @param contentForm 琛ㄥ崟鍐呭閿�煎
+     * @param imgList     鍥剧墖URL鍒楄〃
+     */
+    public boolean sendWithInlineImage(String toEmail, String subject, Map<String, String> contentForm, List<String> imgList) {
+        try {
+            MimeMessage message = javaMailSender.createMimeMessage();
+            MimeMessageHelper helper = new MimeMessageHelper(message, true);
+            helper.setTo(toEmail);
+            helper.setFrom(fromEmail);
+            helper.setSubject(subject);
+            StringBuilder content = new StringBuilder("<html><body>");
+            if (contentForm != null) {
+                for (Map.Entry<String, String> entry : contentForm.entrySet()) {
+                    content.append("<div style='display:block;'>").append(entry.getKey()).append("锛�").append(entry.getValue()).append("</div>");
+                }
+            }
+            if (imgList != null) {
+                content.append("<div style='display:block;'>");
+                for (String img : imgList) {
+                    content.append("<a href='").append(img).append("' target='blank'><img style='width:200px;margin:5px' src='").append(img).append("'/></a>");
+                }
+                content.append("</div>");
+            }
+            content.append("</body></html>");
+            helper.setText(content.toString(), true);
+            javaMailSender.send(message);
+            log.info("鍥剧墖閭欢鍙戦�佹垚鍔�: to={}", toEmail);
+            return true;
+        } catch (Exception e) {
+            log.error("鍥剧墖閭欢鍙戦�佸け璐�: to={}, error={}", toEmail, e.getMessage());
+            return false;
+        }
+    }
+}

--
Gitblit v1.9.3