fix: 优化告警邮件主题生成逻辑,确保包含自定义标题
This commit is contained in:
@@ -23,6 +23,7 @@ func EmailAlarm(a neDataModel.Alarm, neIP string) error {
|
|||||||
if len(emailList) == 0 {
|
if len(emailList) == 0 {
|
||||||
return fmt.Errorf("email list is empty")
|
return fmt.Errorf("email list is empty")
|
||||||
}
|
}
|
||||||
|
toEmailArr := strings.Split(emailList, ",")
|
||||||
|
|
||||||
// 模板
|
// 模板
|
||||||
htmlBodyTemplate := `
|
htmlBodyTemplate := `
|
||||||
@@ -56,8 +57,15 @@ func EmailAlarm(a neDataModel.Alarm, neIP string) error {
|
|||||||
}
|
}
|
||||||
htmlStr := buffer.String()
|
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 {
|
if err != nil {
|
||||||
return fmt.Errorf("EmailAlarm alarmId:%s fail %s", a.AlarmId, err.Error())
|
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邮件
|
// EmailSendHTML 发送HTML邮件
|
||||||
func EmailSendHTML(htmlStr string, toEmailArr []string) error {
|
func EmailSendHTML(title, htmlStr string, toEmailArr []string) error {
|
||||||
// QQ 邮箱:
|
// QQ 邮箱:
|
||||||
// SMTP 服务器地址:smtp.qq.com(SSL协议端口:465/994 | 非SSL协议端口:25)
|
// SMTP 服务器地址:smtp.qq.com(SSL协议端口:465/994 | 非SSL协议端口:25)
|
||||||
// 163 邮箱:
|
// 163 邮箱:
|
||||||
@@ -80,7 +88,6 @@ func EmailSendHTML(htmlStr string, toEmailArr []string) error {
|
|||||||
if !enable {
|
if !enable {
|
||||||
return fmt.Errorf("email notification not enable")
|
return fmt.Errorf("email notification not enable")
|
||||||
}
|
}
|
||||||
title := fmt.Sprint(emailConf["title"])
|
|
||||||
smtp := fmt.Sprint(emailConf["smtp"])
|
smtp := fmt.Sprint(emailConf["smtp"])
|
||||||
port := parse.Number(emailConf["port"])
|
port := parse.Number(emailConf["port"])
|
||||||
user := fmt.Sprint(emailConf["user"])
|
user := fmt.Sprint(emailConf["user"])
|
||||||
|
|||||||
Reference in New Issue
Block a user