From 3ce68402981a18ea17c79e37f9f63ba955bfe4c3 Mon Sep 17 00:00:00 2001 From: RB Date: Thu, 23 Jan 2025 17:30:43 +0800 Subject: [PATCH] email --- .../core/support/integration/SMSender.java | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/rebuild/core/support/integration/SMSender.java b/src/main/java/com/rebuild/core/support/integration/SMSender.java index 23326d8e8..d76f9deaa 100644 --- a/src/main/java/com/rebuild/core/support/integration/SMSender.java +++ b/src/main/java/com/rebuild/core/support/integration/SMSender.java @@ -39,6 +39,7 @@ import java.io.File; import java.io.IOException; +import java.util.Base64; import java.util.HashMap; import java.util.Map; import java.util.Objects; @@ -194,7 +195,7 @@ public static String sendMail(String to, String subject, String content, File[] String base64; try { byte[] bs = FileUtils.readFileToByteArray(a); - base64 = java.util.Base64.getEncoder().encodeToString(bs); + base64 = Base64.getEncoder().encodeToString(bs); } catch (IOException ex) { continue; } @@ -280,10 +281,22 @@ protected static Element getMailTemplate() { if (Application.devMode()) MT_CACHE = null; if (MT_CACHE != null) return MT_CACHE.clone(); - String content = CommonsUtils.getStringOfRes("i18n/email.zh_CN.html"); - Assert.notNull(content, "Cannot load template of email"); - Document html = Jsoup.parse(content); + String content = null; + // v3.9.3 从数据目录 + File file = RebuildConfiguration.getFileOfData("email.zh_CN.html"); + if (file.exists()) { + try { + content = FileUtils.readFileToString(file, AppUtils.UTF8); + } catch (IOException ex) { + log.warn("Cannot read file of email template : {}", file, ex); + } + } + if (content == null) { + content = CommonsUtils.getStringOfRes("i18n/email.zh_CN.html"); + } + Assert.notNull(content, "Cannot read email template"); + Document html = Jsoup.parse(content); MT_CACHE = html.body(); return MT_CACHE.clone(); }