如何在mailmessage.body部分提供新行

时间:2011-04-26 05:43:31

标签: c# asp.net

我使用SMTP(ASP.NET)发送邮件。

我只在一行写了文字,但我想要在下一行。

我使用了\n,但它无效。

3 个答案:

答案 0 :(得分:17)

System.Environment.NewLine

如果您将电子邮件格式化为HTML,则可以向其添加<br />

要格式化为HTML,请使用MailMessage类的IsBodyHtml属性。

http://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage.isbodyhtml.aspx

答案 1 :(得分:0)

如果IsBodyHtml == false,则https://social.msdn.microsoft.com/Forums/vstudio/en-US/82da38ac-ac20-4c9a-a2bd-8512d88fdd41/c-newline-in-email?forum=csharpgeneral建议:

  

使用%0D%0A分隔行。

     

为了简化,使用“\ r \ n”,然后为body和。调用Uri.EscapeDataString   在连接之前的主题。

如果IsBodyHtml == true,如上所述,请使用<br /> 您可以使用 someText.Replace(“\ n”,"<br />")替换换行符(\ r \ n行结尾的任何剩余\ r \ n将被忽略)。或者使用someText.Replace(“\ r \ n”,"<br />")。替换(“\ n”,"<br />")以修复两个行结尾而没有任何\ r \ n余数,如果行结尾是混合的在文中。

答案 2 :(得分:0)

我这样解决了这个问题:

将\ n替换为\ t \ n

该标签将不会显示,但换行符会起作用。