MailMessage 删除连续空格

MailMessage removing consecutive spaces

我正在使用 SmtpClient 对象将 MailMessage 从一个 MailAddress 发送到另一个 MailAddress。我正在尝试使用 monospace 字体将 MailMessage 的正文格式化为居中,但连续的 space 总是被单个 space.[=12= 替换]

所以:

With smtpMessage
  .IsBodyHtml = True
  .Body = "<body style=""font-family:monospace"">"
  .Body &= "  ************************************************************<br>"
  .Body &= "  *     This email was generated by an automated system.     *<br>"
  .Body &= "  *            Please do not reply to this email.            *<br>"
  .Body &= "  ************************************************************<br>"
  .Body &= "</body>"
End With

接收为:

************************************************************
* This email was generated by an automated system. *
* Please do not reply to this email. *
************************************************************

我四处搜索,但我发现的都是关于换行符显示不正确的主题,与 spaces 本身无关。

空格不是通过 MailMessage 删除的,而是通过使用 HTML 删除的。 HTML 标准是忽略多余的空格。如果你真的想保留额外的空间,你应该添加“<pre>”标签,或者使用&nbsp;.

在HTML中,代码中的多个space被替换为一个space。您可以尝试 &nbsp; 强制显示 space。

您可以尝试将您的邮件撰写为纯文本 (IsHtml = false)(并从邮件正文中删除任何 HTML)。