在电子邮件每行末尾自动添加的额外空间

本文关键字:添加 空间 电子邮件 | 更新日期: 2023-09-27 17:50:51

我正在使用c#通过SMTP发送电子邮件。电子邮件是HTML格式的。

我使用了下面的代码来创建消息体。

objMailMsg = new System.Text.StringBuilder();
objMailMsg.Append("<div style='margin: 20px;'>");
objMailMsg.Append("Welcome,");
objMailMsg.Append("<br /><br />Your User Name is     ");
objMailMsg.Append(emailid);
objMailMsg.Append("<br /><br />Password is     ");
objMailMsg.Append(password + "</div>");
objmail.MailMessage = objMailMsg.ToString();

生成的电子邮件将如下所示

欢迎

Your User Name is username.

密码为7x*NG9p%2_

问题是当我尝试复制密码时,它也复制了额外的空间,当我从outlook 2003打开这封电子邮件时,自动添加在末尾(在这种情况下代替_)。以前,这个代码没有"div"围绕电子邮件的内容。添加"div"修复了outlook 2003的这个问题。

我现在已经将outlook升级到2013,这个问题又出现了。

有人能帮我解决这个问题吗?

在电子邮件每行末尾自动添加的额外空间

是否使用了String.Trim()

Password.Trim ()删除所有前后空白字符。

正如我在上一个答案的评论中所说的。至少现在我已经用TABLE代替DIV解决了这个问题。

当我使用Outlook 2003阅读邮件时使用DIV是可以的,现在我有Outlook 2013。两者都使用不同的渲染引擎,IE6的Outlook 2003渲染引擎,而MS Word的Outlook 2007以后的版本对HTML的支持有限。

我不知道这是否可以作为答案,但我觉得我应该分享我的发现。