This is an automated email from the ASF dual-hosted git repository.

gongchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git


The following commit(s) were added to refs/heads/master by this push:
     new 7f0b34066 [bugfix] fix email send error (#2378)
7f0b34066 is described below

commit 7f0b34066323a12bab879e7cb1706327f84d1565
Author: kangli <[email protected]>
AuthorDate: Thu Jul 25 21:39:36 2024 +0800

    [bugfix] fix email send error (#2378)
    
    Co-authored-by: tomsun28 <[email protected]>
---
 .../component/alerter/impl/EmailAlertNotifyHandlerImpl.java       | 5 +++++
 .../org/apache/hertzbeat/manager/pojo/dto/EmailNoticeSender.java  | 2 ++
 manager/src/main/resources/application.yml                        | 2 ++
 web-app/src/app/pojo/EmailNoticeSender.ts                         | 1 +
 .../setting/settings/message-server/message-server.component.html | 8 ++++++++
 web-app/src/assets/i18n/en-US.json                                | 1 +
 web-app/src/assets/i18n/zh-CN.json                                | 1 +
 web-app/src/assets/i18n/zh-TW.json                                | 1 +
 8 files changed, 21 insertions(+)

diff --git 
a/manager/src/main/java/org/apache/hertzbeat/manager/component/alerter/impl/EmailAlertNotifyHandlerImpl.java
 
b/manager/src/main/java/org/apache/hertzbeat/manager/component/alerter/impl/EmailAlertNotifyHandlerImpl.java
index 2ab070a5b..b393ee6ba 100644
--- 
a/manager/src/main/java/org/apache/hertzbeat/manager/component/alerter/impl/EmailAlertNotifyHandlerImpl.java
+++ 
b/manager/src/main/java/org/apache/hertzbeat/manager/component/alerter/impl/EmailAlertNotifyHandlerImpl.java
@@ -69,6 +69,9 @@ public class EmailAlertNotifyHandlerImpl implements 
AlertNotifyHandler {
     @Value("${spring.mail.properties.mail.smtp.ssl.enable:true}")
     private boolean sslEnable = true;
 
+    @Value("${spring.mail.properties.mail.smtp.starttls.enable:false}")
+    private boolean starttlsEnable = false;
+
     private final GeneralConfigDao generalConfigDao;
 
     private final ObjectMapper objectMapper;
@@ -97,6 +100,7 @@ public class EmailAlertNotifyHandlerImpl implements 
AlertNotifyHandler {
                         
sender.setPassword(emailNoticeSenderConfig.getEmailPassword());
                         Properties props = sender.getJavaMailProperties();
                         props.put("mail.smtp.ssl.enable", 
emailNoticeSenderConfig.isEmailSsl());
+                        props.put("mail.smtp.starttls.enable", 
emailNoticeSenderConfig.isEmailStarttls());
                         fromUsername = 
emailNoticeSenderConfig.getEmailUsername();
                         useDatabase = true;
                     }
@@ -109,6 +113,7 @@ public class EmailAlertNotifyHandlerImpl implements 
AlertNotifyHandler {
                     sender.setPassword(password);
                     Properties props = sender.getJavaMailProperties();
                     props.put("mail.smtp.ssl.enable", sslEnable);
+                    props.put("mail.smtp.starttls.enable", starttlsEnable);
                 }
             } catch (Exception e) {
                 log.error("Type not found {}", e.getMessage());
diff --git 
a/manager/src/main/java/org/apache/hertzbeat/manager/pojo/dto/EmailNoticeSender.java
 
b/manager/src/main/java/org/apache/hertzbeat/manager/pojo/dto/EmailNoticeSender.java
index 1c8f9df19..027bf3c05 100644
--- 
a/manager/src/main/java/org/apache/hertzbeat/manager/pojo/dto/EmailNoticeSender.java
+++ 
b/manager/src/main/java/org/apache/hertzbeat/manager/pojo/dto/EmailNoticeSender.java
@@ -54,5 +54,7 @@ public class EmailNoticeSender {
 
     private boolean emailSsl = true;
 
+    private boolean emailStarttls = false;
+
     private boolean enable = true;
 }
diff --git a/manager/src/main/resources/application.yml 
b/manager/src/main/resources/application.yml
index 329e50a17..62eacf362 100644
--- a/manager/src/main/resources/application.yml
+++ b/manager/src/main/resources/application.yml
@@ -104,6 +104,8 @@ spring:
           socketFactoryClass: javax.net.ssl.SSLSocketFactory
           ssl:
             enable: true
+          starttls:
+            enable: false
 
 common:
   queue:
diff --git a/web-app/src/app/pojo/EmailNoticeSender.ts 
b/web-app/src/app/pojo/EmailNoticeSender.ts
index 8d88df036..9d4ffea81 100644
--- a/web-app/src/app/pojo/EmailNoticeSender.ts
+++ b/web-app/src/app/pojo/EmailNoticeSender.ts
@@ -24,6 +24,7 @@ export class EmailNoticeSender {
   emailUsername!: string;
   emailPassword!: string;
   emailSsl: boolean = true;
+  emailStarttls: boolean = false;
   enable!: boolean;
   creator!: string;
   modifier!: string;
diff --git 
a/web-app/src/app/routes/setting/settings/message-server/message-server.component.html
 
b/web-app/src/app/routes/setting/settings/message-server/message-server.component.html
index 2d77c3592..dbadf2d1b 100644
--- 
a/web-app/src/app/routes/setting/settings/message-server/message-server.component.html
+++ 
b/web-app/src/app/routes/setting/settings/message-server/message-server.component.html
@@ -33,6 +33,8 @@
           <br />
           {{ 'alert.notice.sender.mail.ssl' | i18n }}: {{ emailSender.emailSsl 
? ('common.yes' | i18n) : ('common.no' | i18n) }}
           <br />
+          {{ 'alert.notice.sender.mail.starttls' | i18n }}: {{ 
emailSender.emailStarttls ? ('common.yes' | i18n) : ('common.no' | i18n) }}
+          <br />
           {{ 'alert.notice.sender.mail.enable' | i18n }}: {{ 
emailSender.enable ? ('common.yes' | i18n) : ('common.no' | i18n) }}
         </ng-template>
       </nz-list-item-meta>
@@ -95,6 +97,12 @@
           <nz-switch [(ngModel)]="emailSender.emailSsl" required 
name="emailSsl" id="emailSsl"></nz-switch>
         </nz-form-control>
       </nz-form-item>
+      <nz-form-item>
+        <nz-form-label nzSpan="7" nzFor="emailStarttls" nzRequired="true">{{ 
'alert.notice.sender.mail.starttls' | i18n }}</nz-form-label>
+        <nz-form-control nzSpan="12">
+          <nz-switch [(ngModel)]="emailSender.emailStarttls" required 
name="emailStarttls" id="emailStarttls"></nz-switch>
+        </nz-form-control>
+      </nz-form-item>
       <nz-form-item>
         <nz-form-label nzSpan="7" nzFor="emailEnable" nzRequired="true">{{ 
'alert.notice.sender.enable' | i18n }}</nz-form-label>
         <nz-form-control nzSpan="12">
diff --git a/web-app/src/assets/i18n/en-US.json 
b/web-app/src/assets/i18n/en-US.json
index 9869a02dd..6d381df04 100644
--- a/web-app/src/assets/i18n/en-US.json
+++ b/web-app/src/assets/i18n/en-US.json
@@ -334,6 +334,7 @@
   "alert.notice.sender.mail.password": "Email Password",
   "alert.notice.sender.mail.port": "Email Port",
   "alert.notice.sender.mail.ssl": "Enable SSL",
+  "alert.notice.sender.mail.starttls": "Enable STARTTLS",
   "alert.notice.sender.mail.enable": "Enable Email Configuration",
   "alert.export.switch-type": "Please select the export file format!",
   "alert.export.use-type": "Export rules in {{type}} file format",
diff --git a/web-app/src/assets/i18n/zh-CN.json 
b/web-app/src/assets/i18n/zh-CN.json
index 37db59664..2d57ca805 100644
--- a/web-app/src/assets/i18n/zh-CN.json
+++ b/web-app/src/assets/i18n/zh-CN.json
@@ -335,6 +335,7 @@
   "alert.notice.sender.mail.password": "邮箱密码",
   "alert.notice.sender.mail.port": "邮箱端口",
   "alert.notice.sender.mail.ssl": "是否启用SSL",
+  "alert.notice.sender.mail.starttls": "是否启用STARTTLS",
   "alert.notice.sender.mail.enable": "是否启用邮箱配置",
   "alert.export.switch-type": "请选择导出文件格式!",
   "alert.export.use-type": "以 {{type}} 文件格式导出阈值规则",
diff --git a/web-app/src/assets/i18n/zh-TW.json 
b/web-app/src/assets/i18n/zh-TW.json
index 7ebb6c00b..186c1696e 100644
--- a/web-app/src/assets/i18n/zh-TW.json
+++ b/web-app/src/assets/i18n/zh-TW.json
@@ -334,6 +334,7 @@
   "alert.notice.sender.mail.password": "郵件密碼",
   "alert.notice.sender.mail.port": "郵件端口",
   "alert.notice.sender.mail.ssl": "是否啟用SSL",
+  "alert.notice.sender.mail.starttls": "是否啟用STARTTLS",
   "alert.notice.sender.mail.enable": "啟用郵件設定",
   "alert.export.switch-type": "請選擇導出文件格式!",
   "alert.export.use-type": "以 {{type}} 文件格式導出阈值規則",


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to