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)
}