fix: 优化告警邮件主题生成逻辑,确保包含自定义标题

This commit is contained in:
TsMask
2025-10-21 16:24:23 +08:00
parent 1f3690a27b
commit 7b63026610

View File

@@ -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.comSSL协议端口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"])