parent
abd9e78f02
commit
eef662c606
|
@ -179,7 +179,8 @@ func (c *Composer) AddTemplate(template string, data interface{}) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return c.addTemplate(bytes.NewReader(templateText))
|
||||
c.PrependContents(bytes.NewReader(templateText))
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *Composer) AddTemplateFromString(template string, data interface{}) error {
|
||||
|
@ -191,44 +192,7 @@ func (c *Composer) AddTemplateFromString(template string, data interface{}) erro
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return c.addTemplate(bytes.NewReader(templateText))
|
||||
}
|
||||
|
||||
func (c *Composer) addTemplate(tmpl io.Reader) error {
|
||||
reader, err := mail.CreateReader(tmpl)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "mail.CreateReader")
|
||||
}
|
||||
defer reader.Close()
|
||||
|
||||
// populate header editors
|
||||
header := reader.Header
|
||||
mhdr := (*message.Header)(&header.Header)
|
||||
for _, editor := range c.editors {
|
||||
if mhdr.Has(editor.name) {
|
||||
editor.input.Set(mhdr.Get(editor.name))
|
||||
mhdr.Del(editor.name)
|
||||
}
|
||||
}
|
||||
|
||||
part, err := reader.NextPart()
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "reader.NextPart")
|
||||
}
|
||||
c.PrependContents(part.Body)
|
||||
|
||||
var (
|
||||
headers string
|
||||
fds = mhdr.Fields()
|
||||
)
|
||||
for fds.Next() {
|
||||
headers += fmt.Sprintf("%s: %s\n", fds.Key(), fds.Value())
|
||||
}
|
||||
if headers != "" {
|
||||
headers += "\n"
|
||||
}
|
||||
|
||||
c.PrependContents(bytes.NewReader([]byte(headers)))
|
||||
c.PrependContents(bytes.NewReader(templateText))
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue