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

时间:2014-03-19 09:19:17

标签: c# html email outlook

我正在使用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();

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

  

欢迎,

     

您的用户名是用户名。

     

密码为7x * NG9p%2 _

问题是,当我尝试复制密码时,它还会复制额外的空间,当我从outlook 2003打开此电子邮件时,该空间会自动添加到最后(在本例中代替_)。 以前这段代码没有&#34; div&#34;围绕电子邮件的内容。 添加&#34; div&#34;修复了outlook 2003的这个问题。

我现在将展望升级到2013年,这个问题又回来了。

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

提前致谢。

2 个答案:

答案 0 :(得分:0)

您使用的是String.Trim()

吗?

Password.Trim() 删除所有前导和尾随空白字符。

答案 1 :(得分:0)

正如我在上一篇回答的评论中所述。至少目前我已经使用TABLE而不是DIV解决了这个问题。

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

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