diff --git a/core/core-backend/pom.xml b/core/core-backend/pom.xml
index 18e6500287..0371189a4b 100644
--- a/core/core-backend/pom.xml
+++ b/core/core-backend/pom.xml
@@ -102,6 +102,17 @@
selenium-java
${selenium-java.version}
+
+ org.eclipse.angus
+ angus-mail
+ ${angus-mail.version}
+
+
+ org.eclipse.angus
+ angus-activation
+
+
+
com.h2database
h2
diff --git a/de-xpack b/de-xpack
index b27c2cc4ed..50699c9a2b 160000
--- a/de-xpack
+++ b/de-xpack
@@ -1 +1 @@
-Subproject commit b27c2cc4ed5d9ab277d3320f8239895f0a353330
+Subproject commit 50699c9a2be31a1896e3d355013bbc0c1c20cd6a
diff --git a/pom.xml b/pom.xml
index eb71e6dd37..c40ca23b0d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -44,17 +44,11 @@
3.1.0
31.1-jre
4.19.1
- 2.1.3
+ 2.0.3
-
- com.google.guava
- guava
- ${guava.version}
- import
-
com.alibaba.cloud
spring-cloud-alibaba-dependencies
diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/email/EmailApi.java b/sdk/api/api-base/src/main/java/io/dataease/api/email/EmailApi.java
index 2464e7e097..7baaf4677e 100644
--- a/sdk/api/api-base/src/main/java/io/dataease/api/email/EmailApi.java
+++ b/sdk/api/api-base/src/main/java/io/dataease/api/email/EmailApi.java
@@ -1,7 +1,9 @@
package io.dataease.api.email;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
+import io.dataease.api.email.dto.EmailDTO;
import io.dataease.api.system.vo.SettingItemVO;
+import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.GetMapping;
@@ -25,4 +27,8 @@ public interface EmailApi {
@Operation(summary = "校验邮件设置")
@PostMapping("/setting/validate")
void validate(@RequestBody List settingItemVOS);
+
+ @PostMapping("/send")
+ @Hidden
+ void send(@RequestBody EmailDTO dto);
}
diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/email/dto/EmailDTO.java b/sdk/api/api-base/src/main/java/io/dataease/api/email/dto/EmailDTO.java
new file mode 100644
index 0000000000..e78eaf6e03
--- /dev/null
+++ b/sdk/api/api-base/src/main/java/io/dataease/api/email/dto/EmailDTO.java
@@ -0,0 +1,35 @@
+package io.dataease.api.email.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.apache.commons.collections4.CollectionUtils;
+
+import java.io.File;
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class EmailDTO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 3599154848839436838L;
+
+ private List recipientList;
+
+ private String from;
+
+ private String subject;
+
+ private byte[] content;
+
+ private List fileList;
+
+ private List emailFiles;
+
+ public boolean existFile() {
+ return CollectionUtils.isNotEmpty(fileList) || CollectionUtils.isNotEmpty(emailFiles);
+ }
+}
diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/email/dto/EmailFile.java b/sdk/api/api-base/src/main/java/io/dataease/api/email/dto/EmailFile.java
new file mode 100644
index 0000000000..e8e819e0c6
--- /dev/null
+++ b/sdk/api/api-base/src/main/java/io/dataease/api/email/dto/EmailFile.java
@@ -0,0 +1,16 @@
+package io.dataease.api.email.dto;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Data
+public class EmailFile implements Serializable {
+ @Serial
+ private static final long serialVersionUID = -3898069299109267651L;
+
+ private String fileName;
+
+ private byte[] fileByte;
+}