// sendEmail sends an email notification. Event specifies which notification to // send. Valid choices are EVENT_ (see template.go). func sendEmail(job *database.Job, event string) { mailServer := database.GetMailServer() htmlMessage := message(job, database.NotificationServiceEmail, event, TypeHTML) txtMessage := message(job, database.NotificationServiceEmail, event, TypeText) subject := emailSubject(job, event) recipient := mail.Address{ Name: job.Name, Address: job.Email, } message := gophermail.Message{ From: mailServer.From(), To: []mail.Address{recipient}, Subject: subject, Body: txtMessage, HTMLBody: htmlMessage, } err := gophermail.SendMail(mailServer.Server(), mailServer.Auth(), &message) if err != nil { log.Println(err) } }
func viewAdminUpdateMailserver(w http.ResponseWriter, r *http.Request) { template := "mailserver/admin/update.html" ctx := make(responseContext) if r.Method == "POST" { err := mailserverAdminForm{}.update(r) if err == nil { ctx["message"] = "Update successful." } else { ctx["error"] = err.Error() } } server := database.GetMailServer() ctx["server"] = server render(w, r, template, ctx) }