新版仿ok交易所-后端
zyy
2025-09-29 e05adfa42f61c6cef58a921a71b5374ae6ebfb0d
邮箱模板
2 files modified
1 files added
51 ■■■■ changed files
trading-order-admin/src/main/resources/email/ftl/verification_email.ftl 30 ●●●●● patch | view | raw | blame | history
trading-order-service/src/main/java/com/yami/trading/service/impl/IdentifyingCodeServiceImpl.java 8 ●●●● patch | view | raw | blame | history
trading-order-service/src/main/java/com/yami/trading/service/impl/InternalEmailSenderServiceImpl.java 13 ●●●● patch | view | raw | blame | history
trading-order-admin/src/main/resources/email/ftl/verification_email.ftl
New file
@@ -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>
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));
        }
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;