用Go发邮件,模板渲染是绕不开的一步。标准库text/template就能搞定,无需第三方依赖,但有几个关键点——数据结构、转义处理、错误检查——稍不注意就会踩坑。下面分几个方面来梳理。

Golang怎么用template实现邮件模板渲染_Golang如何用text/template生成动态文本内容【方法】

怎么加载并执行一个简单的邮件模板

模板文件(比如email.txt)写成纯文本或HTML都可以,text/template本身不区分格式,只管替换变量:

Hi {{.Name}},
Your order #{{.OrderID}} has been shipped.
Tracking: {{.TrackingCode}}

Go代码里加载并渲染:

为什么邮件里HTML标签没渲染,反而显示成Hello

这个问题其实很常见。text/template默认会对所有输出做HTML转义,这是为了防止XSS攻击。但邮件正文如果是HTML格式,你并不想让<变成