英文:
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/>
是可见的。
当我像这样使用模板(<br/>
被替换为\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()
英文:
I am sending mail to users via mandrill and I using both smtp and mandrill api to send.
Content of the mail is rendered go template (.tpl
)
When I put template like
Hi {{.name}},
<br/>
This is support.
<br/>
it sends via mandrill api ok, but <br/> is visible when I send via smtp,
when use template like ( <br/> replaced with \n
)
Hi {{.name}},
This is support.
mandrill ignores that and shows everything in one line but smtp shows ok newlines.
What is a solution for this ?
I am rendering template like
frame, err := template.New("foo").Parse( *templateString )
if err != nil {
return nil, err
}
var doc bytes.Buffer
frame.Execute( &doc, *parameters )
temp := doc.String()
答案1
得分: 2
你发送的邮件是以HTML格式吗?如果是的话,你可以将所有内容包裹在<pre>
标签中。
如果你不使用HTML,设置这个头部应该会有帮助:Mime-Type: text/plain
另外,尝试将换行符从\n
改为\r\n
。
英文:
Are you sending the mail as HTML? If so, you can wrap everything in the <pre>
tag.
If you're not using HTML, setting this header should help: Mime-Type: text/plain
Also, try changing your newlines from \n
to \r\n
.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论