diff --git a/src/modules/notification/service/email.go b/src/modules/notification/service/email.go index d9a42add..05b142ba 100644 --- a/src/modules/notification/service/email.go +++ b/src/modules/notification/service/email.go @@ -23,6 +23,7 @@ func EmailAlarm(a neDataModel.Alarm, neIP string) error { if len(emailList) == 0 { return fmt.Errorf("email list is empty") } + toEmailArr := strings.Split(emailList, ",") // 模板 htmlBodyTemplate := ` @@ -56,8 +57,15 @@ func EmailAlarm(a neDataModel.Alarm, neIP string) error { } htmlStr := buffer.String() + // 邮件标题 + subjectTitle := fmt.Sprintf("%s-%s-%s", a.OrigSeverity, a.NeName, a.AlarmTitle) + emailTitle := fmt.Sprint(config.Get("notification.email.title")) + if emailTitle != "" { + subjectTitle = fmt.Sprintf("%s-%s", emailTitle, subjectTitle) + } + // 发送邮件 - err = EmailSendHTML(htmlStr, strings.Split(emailList, ",")) + err = EmailSendHTML(subjectTitle, htmlStr, toEmailArr) if err != nil { return fmt.Errorf("EmailAlarm alarmId:%s fail %s", a.AlarmId, err.Error()) } @@ -65,7 +73,7 @@ func EmailAlarm(a neDataModel.Alarm, neIP string) error { } // EmailSendHTML 发送HTML邮件 -func EmailSendHTML(htmlStr string, toEmailArr []string) error { +func EmailSendHTML(title, htmlStr string, toEmailArr []string) error { // QQ 邮箱: // SMTP 服务器地址:smtp.qq.com(SSL协议端口:465/994 | 非SSL协议端口:25) // 163 邮箱: @@ -80,7 +88,6 @@ func EmailSendHTML(htmlStr string, toEmailArr []string) error { if !enable { return fmt.Errorf("email notification not enable") } - title := fmt.Sprint(emailConf["title"]) smtp := fmt.Sprint(emailConf["smtp"]) port := parse.Number(emailConf["port"]) user := fmt.Sprint(emailConf["user"])