feat: 支持修改邮件标题,告警转发默认关闭
This commit is contained in:
@@ -4,34 +4,41 @@ import (
|
||||
"crypto/tls"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"be.ems/lib/config"
|
||||
"be.ems/lib/dborm"
|
||||
"be.ems/lib/global"
|
||||
"be.ems/lib/log"
|
||||
neService "be.ems/src/modules/network_element/service"
|
||||
|
||||
"gopkg.in/gomail.v2"
|
||||
)
|
||||
|
||||
func AlarmEmailForward(alarmData *Alarm) error {
|
||||
log.Info("AlarmEmailForward processing... ")
|
||||
neInfo := neService.NewNeInfo.SelectNeInfoByRmuid(alarmData.NeId)
|
||||
|
||||
alarmStatus := "Clear"
|
||||
if alarmData.AlarmStatus == 1 {
|
||||
alarmStatus = "Active"
|
||||
}
|
||||
severity := alarmData.OrigSeverity
|
||||
subjectTime := fmt.Sprintf("%s-%s-%s", severity, alarmData.NeName, alarmData.AlarmTitle)
|
||||
|
||||
subjectTitle := config.GetYamlConfig().Alarm.EmailForward.Title
|
||||
if subjectTitle == "" {
|
||||
severity := alarmData.OrigSeverity
|
||||
subjectTitle = 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:4em">Title: %s</p>
|
||||
<p style="text-indent:3em">NE IP: %s</p>
|
||||
<p style="text-indent:4em">Alarm 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: %s</p>
|
||||
<p>Automatic sent by OMC, please do not reply!</p>
|
||||
`, alarmData.AlarmSeq, alarmData.NeName, alarmData.AlarmTitle, alarmData.OrigSeverity, alarmData.EventTime, alarmStatus)
|
||||
`, alarmData.AlarmSeq, alarmData.NeName, neInfo.IP, alarmData.AlarmTitle, alarmData.OrigSeverity, alarmData.EventTime, alarmStatus)
|
||||
|
||||
// message := fmt.Sprintf(`
|
||||
// Alarm information
|
||||
@@ -73,13 +80,14 @@ func AlarmEmailForward(alarmData *Alarm) error {
|
||||
// return err
|
||||
// }
|
||||
emails := strings.Split(config.GetYamlConfig().Alarm.EmailForward.EmailList, ",")
|
||||
eventTime := global.GetFmtTimeString(time.RFC3339, alarmData.EventTime, time.DateTime)
|
||||
forwardLog := &dborm.AlarmForwardLog{
|
||||
NeType: alarmData.NeType,
|
||||
NeID: alarmData.NeId,
|
||||
AlarmID: alarmData.AlarmId,
|
||||
AlarmTitle: alarmData.AlarmTitle,
|
||||
AlarmSeq: alarmData.AlarmSeq,
|
||||
EventTime: alarmData.EventTime,
|
||||
EventTime: eventTime,
|
||||
ToUser: config.GetYamlConfig().Alarm.EmailForward.EmailList,
|
||||
}
|
||||
|
||||
@@ -88,7 +96,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", subjectTime) // 邮件主题
|
||||
m.SetHeader("Subject", subjectTitle) // 邮件主题
|
||||
|
||||
// text/html 的意思是将文件的 content-type 设置为 text/html 的形式,浏览器在获取到这种文件时会自动调用html的解析器对文件进行相应的处理。
|
||||
// 可以通过 text/html 处理文本格式进行特殊处理,如换行、缩进、加粗等等
|
||||
|
||||
Reference in New Issue
Block a user