initial commit on github
This commit is contained in:
+44
@@ -0,0 +1,44 @@
|
||||
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)
|
||||
}
|
||||
Reference in New Issue
Block a user