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