包含 html 内容的邮件显示换行符或忽略换行符

Mail with html content shows break lines or ignores newlines

我正在通过 mandrill 向用户发送邮件,我同时使用 smtp 和 mandrill api 来发送。 邮件内容呈现为 go 模板 (.tpl) 当我把模板放在

Hi {{.name}},
<br/>
This is support.  
<br/>

它通过 mandrill 发送 api 可以,但是当我通过 smtp 发送时
是可见的, 当使用像 ( <br/> replaced with \n)

这样的模板时
Hi {{.name}},

This is support.  

mandrill 忽略它并在一行中显示所有内容,但 smtp 显示正常的换行符。 有什么解决方案?

我正在渲染模板

frame, err := template.New("foo").Parse( *templateString )
if err != nil {
    return nil, err
}
var doc bytes.Buffer
frame.Execute( &doc, *parameters )
temp := doc.String()

您是否以 HTML 的身份发送邮件?如果是这样,您可以将所有内容包装在 <pre> 标记中。

如果您不使用 HTML,设置此 header 应该会有所帮助:Mime-Type: text/plain

此外,尝试将换行符从 \n 更改为 \r\n