无法在HTMLBody末尾添加换行符(<br/>标签被裁剪)。

3
我们正在创建一个Outlook邮件项并设置消息正文的一部分。然而,客户希望消息正文以干净的新行结尾,以便添加进一步的文本。
这是一个微不足道的请求,但是...
似乎在.HTMLBody的末尾添加任何不是字符或&nbsp;的内容都会被忽略/修剪掉。
我们希望我们的邮件消息以一个新行结束,但我们发现:

尝试1

x.HTMLBody = CustomerName & "," & "<p>" 

并且
x.HTMLBody = CustomerName & "," & "<br>"

并且

x.HTMLBody = CustomerName & "," & "<br><br>"

所有结果为:

Mr MAWHOOD,
           ^ = cursor positioned here

客户要求的不是这个……他希望光标在新的一行开始


尝试2

x.HTMLBody = CustomerName & "," & "<br>&nbsp;"

结果是:

Mr MAWHOOD,

 ^ = cursor positioned here (one space in)

这稍微好一些了...但客户还想知道为什么我们在新行上有这个"hacky"空格。


尝试3

x.HTMLBody = CustomerName & "," & "<p>&nbsp;</p><br />"

结果是:

Mr MAWHOOD,



^ = cursor positioned here (correct, but now two lines down)

奇怪的是,获得新修剪的行的唯一方式是我们接受必须拥有两个。



你尝试过以2个<br />标签结束吗? - FoxHound
@FoxHound,请查看我的编辑。 - hawbsl
除了Outlook,您是否在其他电子邮件客户端中检查过这个问题?甚至是基于Web的客户端。 - Abhitalks
我进一步查看了它,似乎删除html页面中的尾随<br />标签是正常行为,邮件正文也是如此。在记事本中创建了一个简单的html页面,这里也会删除尾随的换行符。您“尝试3”部分的代码在那里给我带来了相同的结果,无论是否有<br/>,它仍然会被修剪。那个还给我留下了一个空格。 - FoxHound
@abhitalks 这是一种内部系统,Outlook 是他们内部使用的邮件软件。 - hawbsl
@hawbsl:这个可以工作吗?x.HTMLBody = "<p style='margin-bottom: 32px;'>" & CustomerName & "</p>" & "<br />" - Abhitalks
1个回答

0
你应该尝试第二种方法,但要添加
&#08;

HTML字符在末尾。这是退格字符,并且可以消除换行后的“hacky”空格。

x.HTMLBody = CustomerName & "," & "<br />&nbsp;&#08;"

我在这里找到了它:http://www.w3schools.com/TAGS/ref_ascii.asp。但是我不能确定它是否有效,而且很可能不会……


谢谢你的提示...但你是对的。我已经尝试过了,对我来说(至少)它不起作用。 - hawbsl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接