From d1a23c0144066e118b0b5f6b3bb65bf783759741 Mon Sep 17 00:00:00 2001
From: mg <maokecheng@163.com>
Date: 星期日, 09 十月 2022 19:04:01 +0800
Subject: [PATCH] 添加邮件发送功能

---
 ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java |   51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 50 insertions(+), 1 deletions(-)

diff --git a/ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java b/ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java
index f0e17e5..0daacdf 100644
--- a/ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java
+++ b/ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java
@@ -1,8 +1,15 @@
 package com.ycl.service.message.factory;
 
+import com.ycl.common.util.PropertyValueUtil;
 import com.ycl.dto.message.MessageParam;
 import com.ycl.entity.message.Message;
 import com.ycl.service.message.Sender;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.mail.SimpleMailMessage;
+import org.springframework.mail.javamail.JavaMailSenderImpl;
+import org.springframework.stereotype.Component;
 
 /**
  * <p>
@@ -12,9 +19,51 @@
  * @author mg
  * @since 2022-10-09
  */
+@Component
 public class MailSender implements Sender {
+    private final Logger logger = LoggerFactory.getLogger(getClass());
+
+    private static InnerSender innerSender;
+    @Autowired
+    public void setIMessageService(InnerSender innerSender) {
+        MailSender.innerSender = innerSender;
+    }
+
+    private static PropertyValueUtil propertyValueUtil;
+    @Autowired
+    public void setPropertyValueUtil(PropertyValueUtil propertyValueUtil) {
+        MailSender.propertyValueUtil = propertyValueUtil;
+    }
+
     @Override
     public Message sendMessage(MessageParam messageParam) {
-        return null;
+
+        //鍏ュ簱淇濆瓨
+        Message message = innerSender.sendMessage(messageParam);
+        //缁勮閭欢鍙戦��
+        JavaMailSenderImpl sender = new JavaMailSenderImpl();
+        sender.setHost(propertyValueUtil.getHost());
+        sender.setUsername(propertyValueUtil.getUsername());
+        sender.setPassword(propertyValueUtil.getAuthorizationCode());
+
+        String[] mailUrls = messageParam.getTargetTo().split(",");
+        SimpleMailMessage[] messageList = new SimpleMailMessage[mailUrls.length];
+        for (int i=0;i<messageList.length;i++) {
+            SimpleMailMessage messageTo = new SimpleMailMessage();
+            messageTo.setFrom(messageParam.getTargetFrom());
+            messageTo.setTo(mailUrls[i]);
+            messageTo.setSubject(messageParam.getHead());
+            messageTo.setText(message.getBody());
+            messageList[i] = messageTo;
+        }
+        try {
+            sender.send(messageList);
+            logger.info("绠�鍗曢偖浠跺凡鍙戦��");
+        }catch (Exception e){
+            e.printStackTrace();
+            logger.error("鍙戦�佺畝鍗曢偖浠舵椂鍙戠敓寮傚父锛�", e);
+            e.printStackTrace();
+        }
+        return message;
     }
 }

--
Gitblit v1.8.0