我正在使用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年,这个问题又回来了。
有人可以帮我解决这个问题吗?
提前致谢。
答案 0 :(得分:0)
您使用的是String.Trim()
吗?Password.Trim() 删除所有前导和尾随空白字符。
答案 1 :(得分:0)
正如我在上一篇回答的评论中所述。至少目前我已经使用TABLE而不是DIV解决了这个问题。
当我使用Outlook 2003阅读邮件时,使用DIV是可以的,现在我有Outlook 2013。 两者都使用不同的渲染引擎IE6渲染引擎用于Outlook 2003,其中MS Word for Outlook 2007以上对HTML的支持有限。
我不知道这是否可以作为回答,但我觉得我应该分享我的发现。