【发布时间】:2014-05-21 09:41:48
【问题描述】:
我正在使用System.Net.Mail.MailMessage 类生成一封简单的电子邮件,并使用StringBuilder 构建正文。我正在循环通过string[] 并尝试每次都添加一个新行。我遇到的问题是我似乎每次都无法生成一条新行。我可以得到两个或一个都没有。
我的尝试:
foreach (var message in messages)
{
body.AppendLine(message);
}
foreach (var message in messages)
{
body.Append(message + "\n");
}
foreach (var message in messages)
{
body.Append(message + System.Environment.NewLine);
}
我也试过string.Format()。
对于上面的每个示例,我得到了相同的结果。没有生成新行。
但是,当我尝试以下操作时,我得到了预期的结果。一个新行,中间有一个空行。
foreach (var message in messages)
{
body.AppendLine(message + System.Environment.NewLine);
}
为什么要这样做,我该怎么做才能每次只换一个新行?
更新:
所以我发现 Outlook 和可能的 Gmail(还没有测试过其他人)实际上正在删除一些换行符而不是其他换行符。有谁知道他们为什么或如何确定要删除的内容?
【问题讨论】:
-
为什么你认为没有添加新行?
-
@HamletHakobyan 一切都显示在同一行。
-
邮件信息是什么格式的?如果是 HTML,则需要
<br/>换行。 -
在您的工作示例中,您正在附加一个带有换行符的行。在没有的情况下,您只使用 Append 并且只有一个换行符。我不清楚您遇到的问题。
-
@EliArbel 这不是 html
标签: c# outlook gmail newline stringbuilder