Asp.net mvc 3 格式化来自联系人表单的消息
我有发送电子邮件的联系方式Asp.net mvc 3 格式化来自联系人表单的消息,asp.net-mvc-3,Asp.net Mvc 3,我有发送电子邮件的联系方式 model.Message = Sanitizer.GetSafeHtmlFragment(model.Message); //result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa" 但是,如果我在文本区域中键入一条长消息,然后单击“提交”,则此消息将在我的电子邮件中以单行显示 model.Message = Sanitizer.GetS
model.Message = Sanitizer.GetSafeHtmlFragment(model.Message);
//result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa"
但是,如果我在文本区域中键入一条长消息,然后单击“提交”,则此消息将在我的电子邮件中以单行显示
model.Message = Sanitizer.GetSafeHtmlFragment(model.Message);
//result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa"
e、 g如果我在消息文本区域中键入:
My super Mesasge
My Mesasge Mesasge
From Test.
model.Message = Sanitizer.GetSafeHtmlFragment(model.Message);
//result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa"
在我的邮箱中,它将类似于:
My super Mesasge My Mesasge Mesasge From Test.
model.Message = Sanitizer.GetSafeHtmlFragment(model.Message);
//result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa"
为什么格式(“/r/n”)会丢失,我如何保留该邮件的格式
model.Message = Sanitizer.GetSafeHtmlFragment(model.Message);
//result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa"
更新:
我使用了AntiXSS.4.0.1
e、 g:模型。消息:“sdfsdf\r\nsdfsdf\r\nsdfsdfsdfa”
model.Message = Sanitizer.GetSafeHtmlFragment(model.Message);
//result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\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"
model.Message=model.Message.Replace(“\r\n”和“
”);
//结果:model.Message=“sdfsdf
sdfsdf
sdfsdfsdfa”
比:
model.Message = Sanitizer.GetSafeHtmlFragment(model.Message);
//result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa"
model.Message=Sanitizer.GetSafeHtmlFragment(model.Message);
//结果:model.Message=“sdfsdf
\r\nsdfsdf
\r\nsDFSDFA”
那么为什么要重新添加Sanitizer.getSafeThMLFragment\r\n?它也被更改为
,这取决于您发送电子邮件的方式。如果您使用HTML(message.IsBodyHtml
),那么在填充message.Body时,您需要将\r\n
替换为
,我唯一能想到的是,您的电子邮件格式是HTML,因此,换行符
应该在标记或
@jason,我不知道为什么GetSafeHtmlFragment
方法会为每个
添加\r\n
,但这应该不会有任何问题,因为它仍然是有效的html。在html中,新行并不重要,如果您使用IsBodyHtml=true
发送电子邮件,它将按预期工作(即新行将像原始文本区域一样保留)。
model.Message = Sanitizer.GetSafeHtmlFragment(model.Message);
//result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa"