From e05adfa42f61c6cef58a921a71b5374ae6ebfb0d Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Mon, 29 Sep 2025 14:15:19 +0800
Subject: [PATCH] 邮箱模板
---
trading-order-service/src/main/java/com/yami/trading/service/impl/InternalEmailSenderServiceImpl.java | 13 ++++++-------
trading-order-service/src/main/java/com/yami/trading/service/impl/IdentifyingCodeServiceImpl.java | 8 ++++++--
trading-order-admin/src/main/resources/email/ftl/verification_email.ftl | 30 ++++++++++++++++++++++++++++++
3 files changed, 42 insertions(+), 9 deletions(-)
diff --git a/trading-order-admin/src/main/resources/email/ftl/verification_email.ftl b/trading-order-admin/src/main/resources/email/ftl/verification_email.ftl
new file mode 100644
index 0000000..7266e23
--- /dev/null
+++ b/trading-order-admin/src/main/resources/email/ftl/verification_email.ftl
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="UTF-8">
+ <title>Email Verification Code</title>
+ <style>
+ /* 内联样式确保邮件客户端兼容 */
+ .code-box {
+ display: inline-block;
+ background-color: #000; /* 黑色背景 */
+ color: #fff; /* 白色字体 */
+ padding: 10px 20px; /* 内边距 */
+ border-radius: 10px; /* 圆角 */
+ font-size: 20px; /* 字体大小 */
+ font-weight: bold; /* 加粗 */
+ }
+ </style>
+</head>
+<body>
+<p>Thank you for creating a StakeCubepro account.</p>
+<p>Please enter the following verification code to complete your registration:</p>
+
+<!-- 带样式的验证码 -->
+<div class="code-box">${code}</div>
+
+<p>This code is valid for 10 minutes. Please do not share it with anyone.If this was not requested by you, please contact our customer support team immediately.</p>
+<p style="text-align: right; margin-top: 30px;">— The StakeCubepro Team</p>
+</body>
+</html>
+
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/impl/IdentifyingCodeServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/impl/IdentifyingCodeServiceImpl.java
index 3997e55..c3be32c 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/impl/IdentifyingCodeServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/impl/IdentifyingCodeServiceImpl.java
@@ -93,7 +93,7 @@
}
// log.info(MessageFormat.format("target:{0},code:{1},ip:{2}", target, code, ip));
- String content = MessageFormat.format("code is :{0}", new Object[] { code });
+ String content = MessageFormat.format("[StakeCubePro]Verification Code: {0}", new Object[] { code });
if (target.indexOf("@") == -1) {
send_code_text = this.sysparaService.find("send_code_text").getSvalue();
@@ -178,7 +178,11 @@
/**
* 邮件
*/
- emailSendService.sendEmail(target, content, MessageFormat.format(send_code_text, new Object[] { code }));
+ //emailSendService.sendEmail(target, content, MessageFormat.format(send_code_text, new Object[] { code }));
+ // 调用示例
+ Map<String, Object> model = new HashMap<>();
+ model.put("code", code);
+ emailSendService.sendEmail(target, content, "verification_email.ftl", model);
logger.info(MessageFormat.format("email--target:{0},code:{1},ip:{2}", target, code, ip));
}
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/impl/InternalEmailSenderServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/impl/InternalEmailSenderServiceImpl.java
index 8b340df..71ccee9 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/impl/InternalEmailSenderServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/impl/InternalEmailSenderServiceImpl.java
@@ -25,6 +25,7 @@
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Date;
+import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
@@ -36,7 +37,7 @@
private FreeMarkerConfigurer freeMarkerConfigurer;
@Override
- public void afterPropertiesSet() {
+ public void afterPropertiesSet() throws Exception {
mailSender = new JavaMailSenderImpl();
mailSender.setUsername(PropertiesUtil.getProperty("email.username"));
mailSender.setPassword(PropertiesUtil.getProperty("email.password"));
@@ -61,6 +62,8 @@
settings.setProperty("default_encoding", "UTF-8");
settings.setProperty("locale", "zh_CN");
freeMarkerConfigurer.setFreemarkerSettings(settings);
+
+ freeMarkerConfigurer.afterPropertiesSet();
}
/*@Override
@@ -115,9 +118,7 @@
messageHelper.addAttachment(MimeUtility.encodeWord(emailMessage.getFilename()), rarfile);
}
this.mailSender.send(mailMsg);// 发送
- } catch (MessagingException e) {
- logger.error(e.getMessage(), e);
- } catch (UnsupportedEncodingException e) {
+ } catch (MessagingException | UnsupportedEncodingException e) {
logger.error(e.getMessage(), e);
}
}
@@ -134,9 +135,7 @@
Template tpl = this.freeMarkerConfigurer.getConfiguration().getTemplate(ftlname);
// 加入map到模板中 输出对应变量
html = FreeMarkerTemplateUtils.processTemplateIntoString(tpl, map);
- } catch (IOException e) {
- e.printStackTrace();
- } catch (TemplateException e) {
+ } catch (IOException | TemplateException e) {
e.printStackTrace();
}
return html;
--
Gitblit v1.9.3