fix: 优化告警邮件主题生成逻辑,确保包含自定义标题
This commit is contained in:
@@ -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"])
|
||||
|
||||
Reference in New Issue
Block a user