From 5c450e5142079bfe2a045bdb7ca88715d3a33669 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Fri, 23 May 2025 14:32:58 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E5=AF=B9=E8=BD=AC?= =?UTF-8?q?=E5=8F=91=E9=82=AE=E7=AE=B1=E5=92=8C=E6=89=8B=E6=9C=BA=E5=8F=B7?= =?UTF-8?q?=E7=A0=81=E4=B8=BA=E7=A9=BA=E7=9A=84=E9=94=99=E8=AF=AF=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/fm/email.go | 3 +++ features/fm/smsforward.go | 29 +++++++++++++++++++++-------- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/features/fm/email.go b/features/fm/email.go index e11a6339..3db2c87c 100644 --- a/features/fm/email.go +++ b/features/fm/email.go @@ -85,6 +85,9 @@ func AlarmEmailForward(alarmData *Alarm) error { // return err // } emails := strings.Split(config.GetYamlConfig().Alarm.EmailForward.EmailList, ",") + if len(emails) == 0 { + return fmt.Errorf("not found forward email list") + } m.SetHeader("To", emails...) // 收件人,可以多个收件人,但必须使用相同的 SMTP 连接 //m.SetHeader("To", strings.Join(*emails, " ")) // 收件人,可以多个收件人,但必须使用相同的 SMTP 连接 //m.SetHeader("To", "zhangshuzhong@agrandtech.com", "simonzhangsz@outlook.com") // 收件人,可以多个收件人,但必须使用相同的 SMTP 连接 diff --git a/features/fm/smsforward.go b/features/fm/smsforward.go index 33cbd922..642e0ed3 100644 --- a/features/fm/smsforward.go +++ b/features/fm/smsforward.go @@ -52,13 +52,18 @@ func AlarmForwardBySMS(alarmData *Alarm) (string, error) { if err != nil { log.Error("Failed to XormGetAlarmForward:", err) return "", err - } else if toUsers == nil { + } + if toUsers == nil { err := errors.New("not found forward phone number") log.Error(err) return "", err } userList := strings.Join(*toUsers, ",") - + if len(userList) == 0 { + err := errors.New("not found forward phone number") + log.Error(err) + return "", err + } // 短信相关参数 params := url.Values{} params.Set("PhoneNumbers", userList) @@ -110,6 +115,11 @@ func AlarmForwardBySMPP(alarmData *Alarm) (string, error) { return "", err } userList := smsForward.MobileList + if len(userList) == 0 { + err := errors.New("not found forward phone number") + log.Error(err) + return "", err + } auth := gosmpp.Auth{ SMSC: smsForward.SMSCAddr, SystemID: smsForward.SystemID, @@ -140,19 +150,22 @@ func AlarmForwardBySMPP(alarmData *Alarm) (string, error) { }, -1) if err != nil { log.Error("Failed to create SMPP new session:", err) - return userList, err + return "", err } - // defer func() { - // if err := trans.Close(); err != nil { - // log.Error(err) - // } - // }() + defer func() { + if err := trans.Close(); err != nil { + log.Error(err) + } + }() message := "Alarm Notification: " + alarmData.AlarmTitle + " from " + alarmData.NeType + "_" + alarmData.NeId + " at " + alarmData.EventTime users := strings.Split(userList, ",") for _, user := range users { + if user == "" { + continue + } sm, err := newSubmitSM(user, message) if err != nil { log.Errorf("Failed to newSubmitSM %s short message: %v", user, err)