Notify implements notifier interface
(results []types.Result)
| 54 | |
| 55 | // Notify implements notifier interface |
| 56 | func (m Notifier) Notify(results []types.Result) error { |
| 57 | issues := []types.Result{} |
| 58 | for _, result := range results { |
| 59 | if !result.Healthy { |
| 60 | issues = append(issues, result) |
| 61 | } |
| 62 | } |
| 63 | |
| 64 | if len(issues) == 0 { |
| 65 | return nil |
| 66 | } |
| 67 | |
| 68 | message := gomail.NewMessage() |
| 69 | message.SetHeader("From", m.From) |
| 70 | message.SetHeader("To", m.To...) |
| 71 | message.SetHeader("Subject", m.Subject) |
| 72 | message.SetBody("text/html", renderMessage(issues)) |
| 73 | |
| 74 | dialer := gomail.NewDialer(m.SMTP.Server, m.SMTP.Port, m.SMTP.Username, m.SMTP.Password) |
| 75 | return dialer.DialAndSend(message) |
| 76 | } |
| 77 | |
| 78 | func renderMessage(issues []types.Result) string { |
| 79 | body := []string{"<b>Checkup has detected the following issues:</b>", "<br/><br/>", "<ul>"} |
nothing calls this directly
no test coverage detected