C# 电子邮件 - 新行未使用 white-space 呈现:pre-wrap

C# Email - New lines not rendering with white-space: pre-wrap

我有一封带有 table 的电子邮件,其中一个值包含多行字符串。 (enter-key) 在 outlook 中查看或在 IE 中查看源代码时,white-space 不起作用。

有什么想法或解决方案吗?

谢谢。

html 中的新行不会这样呈现。您需要在每行末尾添加 <br> 标记,以确保使用新行正确呈现电子邮件。

您可以在 C# 代码中执行此操作,方法是将有问题的值中的每个换行符替换为 <br>

这与 Outlook(不是 C#)有关。我有同样的问题(使用 Java 发送邮件)。我在跨度上使用 CSS 样式 white-space:pre-wrap;,它可以很好地保留 GMail 中的制表符、空格、换行和换行文本,Android 和 iOS。

根据我在 Outlook 2016 Windows 应用程序和网络应用程序 (outlook.office365.com) 上的实验:

  • Value pre-wrap 不会在 Windows app 和 webapp
  • 中保留新行
  • Value pre 在 Windows app 中保留新行,但在 webapp
  • 中不这样做