包含 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
。
我正在通过 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
。