Trying to render HTML templates for sending via email with embedded attachments with cid:. Problem is, that Go does escaping and I cannot do anything.
tplVars := map[string]interface{}{
"Dog": "cid:dog.png",
"Cat": "cid:cat.png",
}
My testing template looks more less like this:
Dog: <img src="{{.Dog}}">
Cat: {{.Cat}}
Output is:
Dog: <img src="#ZgotmplZ">
Cat: cid:cat.png
If text is outside attribute context, it is evaluated correctly, but when it is an src attribute it always become that error string. I tried also change value from string to template.HTMLAttr but nothing happen. Cid value is always evaluated to that error output #ZgotmplZ.
The issue is that the src attribute isn't treated strictly as an attribute, but as a URL. If you change it from a string to a template.URL it works just fine.
tplVars := map[string]interface{}{
"Dog": template.URL("cid:dog.png"),
"Cat": "cid:cat.png",
}
https://play.golang.org/p/ZN27nGnUE9
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With