C# - 发送带有换行符的HTML电子邮件

时间:2011-08-09 16:51:58

标签: c# email

我正在尝试使用System.Net.Mail.MailMessage类从我的C#应用​​程序发送电子邮件。对于电子邮件的正文,我想要包含换行符以创建单独的文本块。当显示电子邮件向用户显示HTML时,如何让Outlook等电子邮件客户端尊重换行符?我在电子邮件文本正文中插入了哪些字符,以便将换行符视为换行符?

注意:我的电子邮件正文是纯文本,而不是HTML。

6 个答案:

答案 0 :(得分:13)

换行符是空格字符,所有空格字符都被解释为HTML中的空格。

您可以使用中断标记(<br/>)在HTML代码中添加换行符,并且可以在段落周围使用段落标记(<p>...</p>)来获取它们之间的距离。

答案 1 :(得分:8)

您可以使用Environment.NewLine属性。这将插入为当前环境定义的换行字符串。

答案 2 :(得分:6)

您需要插入HTML换行符,即<br/>

答案 3 :(得分:3)

如果您要将电子邮件作为HTML发送,请使用其他人描述的中断标记。如果您希望换行符有效,则需要将该消息作为纯文本发送,可以通过设置IsBodyHtml = false来指定。

如果未使用现有的换行符,请尝试使用“\ n”强制转换,这是新行的转义序列。

答案 4 :(得分:3)

在我看来,使用parograph标签是最好的方法,因为它可以保持格式清晰,易于维护。

我希望这会有所帮助。

<p>Dear Mike</p>
<p>This is a sample message</p>
<p><b>Thank You,</b></p>

答案 5 :(得分:1)

email.Body = new MessageBody(BodyType.Text, stringThatCointainsMessage);

至少使用Microsoft.Exchange.WebServices.Data这将解决问题

您需要使用重载方法和枚举BodyType.Text