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/resources/application-dev.yml | 4 ++
ycl-platform/pom.xml | 5 --
ycl-platform/src/main/java/com/ycl/common/util/PropertyValueUtil.java | 26 +++++++++++++
ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java | 51 +++++++++++++++++++++++++
ycl-common/src/main/java/com/ycl/dto/UmsAdminParam.java | 2
pom.xml | 10 +++++
6 files changed, 91 insertions(+), 7 deletions(-)
diff --git a/pom.xml b/pom.xml
index e9621fc..a0b70f1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -186,6 +186,16 @@
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>3.1.3</version>
</dependency>
+ <!-- send_mail -->
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-mail</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-configuration-processor</artifactId>
+ <optional>true</optional>
+ </dependency>
</dependencies>
</project>
diff --git a/ycl-common/src/main/java/com/ycl/dto/UmsAdminParam.java b/ycl-common/src/main/java/com/ycl/dto/UmsAdminParam.java
index 8d86cc7..1ebf317 100644
--- a/ycl-common/src/main/java/com/ycl/dto/UmsAdminParam.java
+++ b/ycl-common/src/main/java/com/ycl/dto/UmsAdminParam.java
@@ -51,7 +51,7 @@
private Long departmentId;
@ApiModelProperty(value = "鐢ㄦ埛绫诲瀷")
- private byte userType;
+ private Integer userType;
@ApiModelProperty(value = "搴ф満/鍒嗘満")
private String zj;
diff --git a/ycl-platform/pom.xml b/ycl-platform/pom.xml
index 084ec6a..171e455 100644
--- a/ycl-platform/pom.xml
+++ b/ycl-platform/pom.xml
@@ -26,11 +26,6 @@
<version>1.0.0</version>
</dependency>
<dependency>
- <groupId>commons-httpclient</groupId>
- <artifactId>commons-httpclient</artifactId>
- <version>3.0.1</version>
- </dependency>
- <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
diff --git a/ycl-platform/src/main/java/com/ycl/common/util/PropertyValueUtil.java b/ycl-platform/src/main/java/com/ycl/common/util/PropertyValueUtil.java
new file mode 100644
index 0000000..af4446d
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/common/util/PropertyValueUtil.java
@@ -0,0 +1,26 @@
+package com.ycl.common.util;
+
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * <p>
+ * 绫昏鏄�
+ * </p>
+ *
+ * @author mg
+ * @since 2022-10-09
+ */
+@Component
+@ConfigurationProperties(prefix = "file")
+@Data
+public class PropertyValueUtil {
+ @Value("${mail.host}")
+ private String host;
+ @Value("${mail.username}")
+ private String username;
+ @Value("${mail.authorizationCode}")
+ private String authorizationCode;
+}
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;
}
}
diff --git a/ycl-platform/src/main/resources/application-dev.yml b/ycl-platform/src/main/resources/application-dev.yml
index 45ede0e..85f7ad1 100644
--- a/ycl-platform/src/main/resources/application-dev.yml
+++ b/ycl-platform/src/main/resources/application-dev.yml
@@ -20,6 +20,10 @@
snow-flake:
datacenterId: 1
machineId: 1
+mail:
+ host: smtp.163.com
+ username: maokecheng2015@163.com
+ authorizationCode: JOMMIXUTGAJYOSNA
spring:
redis:
--
Gitblit v1.8.0