56 lines
1.1 KiB
Go
56 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"text/template"
|
|
)
|
|
|
|
var headerTemplate *template.Template
|
|
|
|
type headerPlugs struct {
|
|
FromAddress string
|
|
ToName string
|
|
ToAddress string
|
|
Subject string
|
|
}
|
|
|
|
var templates map[string]*template.Template
|
|
|
|
func smtpTemplatesLoad() error {
|
|
var err error
|
|
headerTemplate, err = template.New("header").Parse(`MIME-Version: 1.0
|
|
From: Commento <{{.FromAddress}}>
|
|
To: {{.ToName}} <{{.ToAddress}}>
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Subject: {{.Subject}}
|
|
|
|
`)
|
|
if err != nil {
|
|
logger.Errorf("cannot parse header template: %v", err)
|
|
return errorMalformedTemplate
|
|
}
|
|
|
|
names := []string{
|
|
"confirm-hex",
|
|
"reset-hex",
|
|
"domain-export",
|
|
"domain-export-error",
|
|
}
|
|
|
|
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("%s/templates/%s.txt", os.Getenv("STATIC"), name))
|
|
if err != nil {
|
|
logger.Errorf("cannot parse %s/templates/%s.txt: %v", os.Getenv("STATIC"), name, err)
|
|
return errorMalformedTemplate
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|