You need to enable JavaScript to run this app. C# ASMX SOAP Webservice发送邮件时\n换行失效问题如何解决
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 06:24:02