package v1 import ( "bytes" "fmt" "html/template" "log" "net/smtp" "os" ) const ( format = "From: %v\r\n" + "To: %v\r\n" + "Subject: %v\r\n" + "Content-Type: text/html; charset=UTF-8\r\n" + "MIME-version: 1.0;\r\n\r\n" + "%v\r\n" ) func SendMail(to string, subject string, body string) { msg := []byte(fmt.Sprintf(format, privateConfig.Email.Username, to, subject, body)) err := smtp.SendMail(privateConfig.Email.Host+":587", mailAuth, privateConfig.Email.Username, []string{to}, msg) if err != nil { log.Println(err) } } func SendMailTemplate(to string, subject string, name string, data interface{}) { wd, err := os.Getwd() if err != nil { log.Println(err) } t, err := template.ParseFiles(wd + `/mail_templates/` + name) if err != nil { log.Println(err) } buf := new(bytes.Buffer) if err := t.Execute(buf, data); err != nil { log.Println(err) } body := buf.String() SendMail(to, subject, body) }