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 |   45 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 37 insertions(+), 8 deletions(-)

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 ecf553c..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,19 +37,21 @@
     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"));
         mailSender.setHost(PropertiesUtil.getProperty("email.host"));
         Properties javaMailProperties = new Properties();
         javaMailProperties.setProperty("mail.smtp.port", "465");
-        javaMailProperties.setProperty("mail.smtp.starttls.enable", "true");
+        javaMailProperties.setProperty("mail.smtp.starttls.enable", "false");
         javaMailProperties.setProperty("mail.smtp.auth", "true");
         javaMailProperties.setProperty("mail.debug", "true");
+        javaMailProperties.setProperty("mail.smtp.ssl.protocols", "TLSv1.2");
         javaMailProperties.setProperty("mail.smtp.host", "smtp.gmail.com");
         javaMailProperties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
         javaMailProperties.setProperty("mail.smtp.socketFactory.port", "465");
+        javaMailProperties.setProperty("mail.smtp.ssl.enable", "true");
         mailSender.setJavaMailProperties(javaMailProperties);
         mailMessage = new SimpleMailMessage();
         mailMessage.setFrom(PropertiesUtil.getProperty("email.from"));
@@ -59,7 +62,37 @@
         settings.setProperty("default_encoding", "UTF-8");
         settings.setProperty("locale", "zh_CN");
         freeMarkerConfigurer.setFreemarkerSettings(settings);
+
+        freeMarkerConfigurer.afterPropertiesSet();
     }
+
+    /*@Override
+    public void afterPropertiesSet() throws Exception {
+        mailSender = new JavaMailSenderImpl();
+        mailSender.setUsername(PropertiesUtil.getProperty("email.username"));
+        mailSender.setPassword(PropertiesUtil.getProperty("email.password"));
+        mailSender.setHost(PropertiesUtil.getProperty("email.host"));
+        Properties javaMailProperties = new Properties();
+        javaMailProperties.setProperty("mail.smtp.port", "465");
+
+        javaMailProperties.setProperty("mail.smtp.auth", "true");
+        javaMailProperties.setProperty("mail.smtp.ssl.enable", "true");
+        javaMailProperties.setProperty("mail.smtp.ssl.protocols", "TLSv1.2");
+        javaMailProperties.setProperty("mail.smtp.ssl.enable", "true");
+
+        javaMailProperties.setProperty("mail.debug", "true");
+        mailSender.setJavaMailProperties(javaMailProperties);
+        mailMessage = new SimpleMailMessage();
+        mailMessage.setFrom(PropertiesUtil.getProperty("email.from"));
+        freeMarkerConfigurer = new FreeMarkerConfigurer();
+        freeMarkerConfigurer.setTemplateLoaderPath("classpath:email/ftl");
+        Properties settings = new Properties();
+        settings.setProperty("template_update_delay", "1800");
+        settings.setProperty("default_encoding", "UTF-8");
+        settings.setProperty("locale", "zh_CN");
+        freeMarkerConfigurer.setFreemarkerSettings(settings);
+        freeMarkerConfigurer.afterPropertiesSet();
+    }*/
 
     @Override
     public void send(EmailMessage emailMessage) {
@@ -85,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);
         }
     }
@@ -104,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