api: Add go files
I know this is a huge commit, but I can't be bothered to check this in part by part.
This commit is contained in:
49
api/smtp_templates.go
Normal file
49
api/smtp_templates.go
Normal file
@@ -0,0 +1,49 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"html/template"
|
||||
)
|
||||
|
||||
var headerTemplate *template.Template
|
||||
|
||||
type headerPlugs struct {
|
||||
FromAddress string
|
||||
ToName string
|
||||
ToAddress string
|
||||
Subject string
|
||||
}
|
||||
|
||||
var templates map[string]*template.Template
|
||||
|
||||
func loadTemplates() error {
|
||||
var err error
|
||||
headerTemplate, err = template.New("header").Parse(`MIME-Version: 1.0
|
||||
Content-Type: text/html; charset=UTF-8
|
||||
From: {{.FromAddress}}
|
||||
To: {{.ToName}} <{{.ToAddress}}>
|
||||
Subject: {{.Subject}}
|
||||
|
||||
`)
|
||||
if err != nil {
|
||||
logger.Fatalf("cannot parse header template: %v", err)
|
||||
return errorMalformedTemplate
|
||||
}
|
||||
|
||||
names := []string{"confirm-hex"}
|
||||
|
||||
templates = make(map[string]*template.Template)
|
||||
|
||||
logger.Infof("loading templates: %v", names)
|
||||
for _, name := range names {
|
||||
var err error
|
||||
templates[name] = template.New(name)
|
||||
templates[name], err = template.ParseFiles(fmt.Sprintf("email/%s.html", name))
|
||||
if err != nil {
|
||||
logger.Fatalf("cannot parse %s.html: %v\n", name, err)
|
||||
return errorMalformedTemplate
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user