我使用SMTP(ASP.NET)发送邮件。
我只在一行写了文字,但我想要在下一行。
我使用了\n
,但它无效。
答案 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
该标签将不会显示,但换行符会起作用。