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