C# ASMX SOAP Webservice发送邮件时\n换行失效问题如何解决
核心问题
你的代码中将 MailMessage 的 IsBodyHtml 属性设置为了 true,即指定邮件正文为HTML格式。而在HTML规范中,普通的\n换行符不会被渲染为换行效果,邮件客户端会把所有连续空白字符(包括换行、空格)合并为单个空格,因此你收到的邮件会显示为连续一行。
解决方法
你可以选择以下任意一种方案修复换行问题:
方案一:保留HTML格式,替换换行符
将邮件正文中所有的\n替换为HTML标准换行标签<br/>,修改后的正文构造代码如下:string EmailBody = "Dear "+ fullname +"<br/> Your CashBag Serial is : "+ SerialNumCode + "<br/> Please Quote this Number to Complete your Request. <br/> Regards, <br/> Purpleworks <br/> ";其余代码无需改动,邮件客户端会正确识别
<br/>标签实现换行。方案二:关闭HTML解析,使用纯文本格式
如果你不需要在邮件中使用字体、链接等HTML格式能力,直接修改IsBodyHtml属性为false即可:message.IsBodyHtml = false;此时邮件会被识别为纯文本格式,
\n会直接被渲染为换行。
内容的提问来源于stack exchange,提问作者Emeka
相关产品推荐
相关产品推荐

