Browse Source

【优化】新增 sslEnable 字段,支持 outlook 邮箱

YunaiV 10 months ago
parent
commit
0649c315d1

+ 3 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountRespVO.java

@@ -30,6 +30,9 @@ public class MailAccountRespVO {
     @Schema(description = "是否开启 ssl", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     private Boolean sslEnable;
 
+    @Schema(description = "是否开启 starttls", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
+    private Boolean starttlsEnable;
+
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 

+ 4 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountSaveReqVO.java

@@ -38,4 +38,8 @@ public class MailAccountSaveReqVO {
     @NotNull(message = "是否开启 ssl 必填")
     private Boolean sslEnable;
 
+    @Schema(description = "是否开启 starttls", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
+    @NotNull(message = "是否开启 starttls 必填")
+    private Boolean starttlsEnable;
+
 }

+ 4 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailAccountDO.java

@@ -49,5 +49,9 @@ public class MailAccountDO extends BaseDO {
      * 是否开启 SSL
      */
     private Boolean sslEnable;
+    /**
+     * 是否开启 STARTTLS
+     */
+    private Boolean starttlsEnable;
 
 }

+ 2 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailSendServiceImpl.java

@@ -120,7 +120,8 @@ public class MailSendServiceImpl implements MailSendService {
         String from = StrUtil.isNotEmpty(nickname) ? nickname + " <" + account.getMail() + ">" : account.getMail();
         return new MailAccount().setFrom(from).setAuth(true)
                 .setUser(account.getUsername()).setPass(account.getPassword().toCharArray())
-                .setHost(account.getHost()).setPort(account.getPort()).setSslEnable(account.getSslEnable());
+                .setHost(account.getHost()).setPort(account.getPort())
+                .setSslEnable(account.getSslEnable()).setStarttlsEnable(account.getStarttlsEnable());
     }
 
     @VisibleForTesting

+ 1 - 0
yudao-module-system/yudao-module-system-biz/src/test/resources/sql/create_tables.sql

@@ -520,6 +520,7 @@ CREATE TABLE IF NOT EXISTS "system_mail_account" (
     "host" varchar NOT NULL,
     "port" int NOT NULL,
     "ssl_enable" bit NOT NULL,
+    "starttls_enable" bit NOT NULL,
     "creator" varchar DEFAULT '',
     "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
     "updater" varchar DEFAULT '',