mirror of
https://github.com/1f349/simplemail.git
synced 2025-04-13 23:35:58 +01:00
Only accept single fs.FS for templates
This commit is contained in:
parent
04b8bb59b0
commit
109af2440d
@ -2,15 +2,11 @@ package simplemail
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"errors"
|
|
||||||
"github.com/1f349/overlapfs"
|
|
||||||
"github.com/emersion/go-message/mail"
|
"github.com/emersion/go-message/mail"
|
||||||
htmlTemplate "html/template"
|
htmlTemplate "html/template"
|
||||||
"io"
|
"io"
|
||||||
"io/fs"
|
"io/fs"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
textTemplate "text/template"
|
textTemplate "text/template"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -20,22 +16,13 @@ type SimpleMail struct {
|
|||||||
textTemplates *textTemplate.Template
|
textTemplates *textTemplate.Template
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(sender *Mail, wd string, normal fs.FS) (simpleMail *SimpleMail, err error) {
|
func New(sender *Mail, templateFS fs.FS) (simpleMail *SimpleMail, err error) {
|
||||||
m := &SimpleMail{mailSender: sender}
|
m := &SimpleMail{mailSender: sender}
|
||||||
if wd != "" {
|
m.htmlTemplates, err = htmlTemplate.New("mail").ParseFS(templateFS, "*.go.html")
|
||||||
mailDir := filepath.Join(wd, "mail-templates")
|
|
||||||
err = os.Mkdir(mailDir, os.ModePerm)
|
|
||||||
if err != nil && !errors.Is(err, os.ErrExist) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
wdFs := os.DirFS(mailDir)
|
|
||||||
normal = overlapfs.OverlapFS{A: normal, B: wdFs}
|
|
||||||
}
|
|
||||||
m.htmlTemplates, err = htmlTemplate.New("mail").ParseFS(normal, "*.go.html")
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
m.textTemplates, err = textTemplate.New("mail").ParseFS(normal, "*.go.txt")
|
m.textTemplates, err = textTemplate.New("mail").ParseFS(templateFS, "*.go.txt")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user