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