私はGolangを使用してhtml電子メールを送信しようとしていますが、ネイティブのGolang html/templateパッケージを使用する代わりに、私はPongo2でそれをやろうとしています。この質問に Go - Pongo2を使用して一時的なバイトバッファにテンプレートをレンダリングするには?
は: Is it possible to create email templates with CSS in Google App Engine Go?ユーザーは、私がここでの問題
var tmpl = pongo2.Must(pongo2.FromFile("template.html"))
buff := new(bytes.Buffer)
tmpl.Execute(buff, pongo2.Context{"data": "best-data"}, w)
をやろうとしていますどのようなHTML /テンプレート
var tmpl = template.Must(template.ParseFiles("templates/email.html"))
buff := new(bytes.Buffer)
if err = tmpl.Execute(buff, struct{ Name string }{"Juliet"}); err != nil {
panic(err.Error())
}
msg := &mail.Message{
Sender: "[email protected]",
To: []string{"Juliet <[email protected]>"},
Subject: "See you tonight",
Body: "...you put here the non-HTML part...",
HTMLBody: buff.String(),
}
c := appengine.NewContext(r)
if err := mail.Send(c, msg); err != nil {
c.Errorf("Alas, my user, the email failed to sendeth: %v", err)
を使用しているこの例を、提供していますpongo2.Execute()は、バフではなくコンテキストデータの入力のみを許可します。 を使用してテンプレートを書き込むことが目標です。メールを送信するためにHTMLをレンダリングすることもできます。
私の質問は間違っているのですか?私が達成しようとしていることは可能ですか?そのHTMLをバフにレンダリングする方法を見つけることができれば、後で部分として使用することができますbuff.String()
、それは私がHTMLの本文にそれを入力することができます。