func (n *Notification) DoEmail(subject, body []byte, c *Conf, ak string, attachments ...*Attachment) { e := email.NewEmail() e.From = c.EmailFrom for _, a := range n.Email { e.To = append(e.To, a.Address) } e.Subject = string(subject) e.HTML = body for _, a := range attachments { e.Attach(bytes.NewBuffer(a.Data), a.Filename, a.ContentType) } if err := Send(e, c.SMTPHost, c.SMTPUsername, c.SMTPPassword); err != nil { collect.Add("email.sent_failed", nil, 1) log.Printf("failed to send alert %v to %v %v\n", ak, e.To, err) return } collect.Add("email.sent", nil, 1) log.Printf("relayed alert %v to %v sucessfully\n", ak, e.To) }
func (n *Notification) DoEmail(subject, body []byte, c *Conf, ak string, attachments ...*Attachment) { e := email.NewEmail() e.From = c.EmailFrom for _, a := range n.Email { e.To = append(e.To, a.Address) } e.Subject = string(subject) e.HTML = body for _, a := range attachments { e.Attach(bytes.NewBuffer(a.Data), a.Filename, a.ContentType) } e.Headers.Add("X-Bosun-Server", util.Hostname) if err := Send(e, c.SMTPHost, c.SMTPUsername, c.SMTPPassword); err != nil { collect.Add("email.sent_failed", nil, 1) slog.Errorf("failed to send alert %v to %v %v\n", ak, e.To, err) return } collect.Add("email.sent", nil, 1) slog.Infof("relayed alert %v to %v sucessfully. Subject: %d bytes. Body: %d bytes.", ak, e.To, len(subject), len(body)) }