refined alarm email, removed port requirement for smtp server, fixed bug with config loading
This commit is contained in:
@ -6,7 +6,7 @@ import (
|
||||
|
||||
type Alarm interface {
|
||||
Parse(string) (bool, error)
|
||||
Alarm() error
|
||||
Alarm(string,string,string,error) error
|
||||
}
|
||||
|
||||
func NewAlarm(name string, typename string) (Alarm, error) {
|
||||
|
@ -35,7 +35,7 @@ func NewAlarmEmail(name string) *AlarmEmail {
|
||||
}
|
||||
}
|
||||
|
||||
func (a *AlarmEmail) Alarm() error {
|
||||
func (a *AlarmEmail) Alarm(grp string, host string, chk string, cerr error) error {
|
||||
c, err := smtp.Dial(a.SMTP)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -68,7 +68,8 @@ func (a *AlarmEmail) Alarm() error {
|
||||
|
||||
msg := fmt.Sprintf("From: %s\r\n", a.From)
|
||||
msg += fmt.Sprintf("To: %s\r\n", strings.Join(a.To, ";"))
|
||||
msg += fmt.Sprintf("Subject: %s\r\n", "test subject")
|
||||
msg += fmt.Sprintf("Subject: %s\r\n\r\n", "test subject")
|
||||
msg += fmt.Sprintf("%s", cerr.Error())
|
||||
|
||||
_, err = fmt.Fprintf(m, "%s", msg)
|
||||
if err != nil {
|
||||
@ -113,6 +114,10 @@ func (a *AlarmEmail) Parse(tk string) (bool, error) {
|
||||
if strings.TrimSpace(tk) == "" {
|
||||
return false, fmt.Errorf("smtp server cannot be empty")
|
||||
}
|
||||
// If the smtp host doesn't contain a port, add the default
|
||||
if !strings.Contains(tk, ":") {
|
||||
tk += ":25"
|
||||
}
|
||||
a.SMTP = tk
|
||||
a.state = TK_NONE
|
||||
|
||||
|
Reference in New Issue
Block a user