我有发送电子邮件的联系表格。
但是,如果我在文本区域输入长信息并在点击提交后,在我的电子邮件中显示单行显示的消息。
例如,如果我在消息文本区域中键入:
My super Mesasge
My Mesasge Mesasge
From Test.
在我的电子邮箱中,它会像:
My super Mesasge My Mesasge Mesasge From Test.
为什么格式化(“/ r / n”)会丢失,如何保留该格式的格式?
更新: 我使用了AntiXSS.4.0.1 例如:model.Message:“sdfsdf \ r \ nsdfsdf \ r \ nsdfsdfsdafsdfa”
我做到了:
model.Message = model.Message.Replace("\r\n", "<br />");
//result: model.Message="sdfsdf<br />sdfsdf<br />sdfsdfsdafsdfa"
比:
model.Message = Sanitizer.GetSafeHtmlFragment(model.Message);
//result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa"
那么为什么Sanitizer.GetSafeHtmlFragment会添加\ r \ n回来?它也被<br />
更改为<br>
答案 0 :(得分:1)
我唯一能想到的是,您的电子邮件格式是HTML格式,因此NewLine
应该转换为<p></p>
代码或<br />
答案 1 :(得分:0)
这取决于您发送电子邮件的方式。如果您使用HTML(message.IsBodyHtml
),那么在填充\r\n
时,您需要将<br/>
替换为message.Body
。