fix: 告警转发邮件优化

This commit is contained in:
TsMask
2025-03-03 18:05:06 +08:00
parent be51230ec8
commit 93e6fdb2b8

View File

@@ -7,6 +7,7 @@ import (
"be.ems/lib/config"
"be.ems/lib/log"
systemService "be.ems/src/modules/system/service"
"gopkg.in/gomail.v2"
)
@@ -14,16 +15,35 @@ import (
func AlarmEmailForward(alarmData *Alarm) error {
log.Info("AlarmEmailForward processing... ")
alarmStatus := "Clear"
if alarmData.AlarmStatus == 1 {
alarmStatus = "Active"
}
severity := origSeverityValue(alarmData.OrigSeverity)
dictAlarmSeverity := systemService.NewSysDictData.FindByType("active_alarm_severity")
for _, v := range dictAlarmSeverity {
if v.DataValue == severity {
severity = v.DataLabel
}
}
subjectTime := fmt.Sprintf("%s-%s-%s", severity, alarmData.NeName, alarmData.AlarmTitle)
message := fmt.Sprintf(`
<p>Alarm information</p>
<p style="text-indent:2.5em">Sequence: %d</p>
<p style="text-indent:3em">NE name: %s</p>
<p style="text-indent:3em">NE Name: %s</p>
<p style="text-indent:4em">Title: %s</p>
<p style="text-indent:2.5em">Severity: %s</p>
<p style="text-indent:1.5em">Event Time: %s</p>
<p style="text-indent:0.5em">Alarm Status: %d</p>
<p style="text-indent:0.5em">Alarm Status: %s</p>
<p>Automatic sent by OMC, please do not reply!</p>
`, alarmData.AlarmSeq, alarmData.NeName, alarmData.AlarmTitle, alarmData.OrigSeverity, alarmData.EventTime, alarmData.AlarmStatus)
`,
alarmData.AlarmSeq,
alarmData.NeName,
alarmData.AlarmTitle,
severity,
alarmData.EventTime,
alarmStatus,
)
// message := fmt.Sprintf(`
// Alarm information
@@ -70,7 +90,7 @@ func AlarmEmailForward(alarmData *Alarm) error {
//m.SetHeader("To", "zhangshuzhong@agrandtech.com", "simonzhangsz@outlook.com") // 收件人,可以多个收件人,但必须使用相同的 SMTP 连接
//m.SetHeader("Cc", "******@qq.com") // 抄送,可以多个
//m.SetHeader("Bcc", "******@qq.com") // 暗送,可以多个
m.SetHeader("Subject", "Alarm from OMC!") // 邮件主题
m.SetHeader("Subject", subjectTime) // 邮件主题
// text/html 的意思是将文件的 content-type 设置为 text/html 的形式浏览器在获取到这种文件时会自动调用html的解析器对文件进行相应的处理。
// 可以通过 text/html 处理文本格式进行特殊处理,如换行、缩进、加粗等等