MailMessage删除连续的空格

时间:2015-04-20 13:11:26

标签: vb.net whitespace smtpclient mailmessage

我使用SmtpClient对象将MailMessage从一个MailAddress发送到另一个MailAddress。我尝试使用等宽字体格式化MailMessage的主体以使其居中,但连续的空格总是被单个空格替换。

所以:

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. *
************************************************************

我已经四处寻找,但我发现的所有内容都是关于换行不正确的主题,没有关于空间本身的内容。

2 个答案:

答案 0 :(得分:1)

空格不是通过MailMessage删除,而是通过使用HTML删除。 HTML标准是忽略额外的空格。如果你真的希望保留额外的空格,你应该添加&#34; <pre>&#34;标记,或使用&nbsp;

答案 1 :(得分:0)

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

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