Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在电子邮件中的每行末尾自动添加额外空间_C#_Html_Email_Outlook - Fatal编程技术网

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

C# 在电子邮件中的每行末尾自动添加额外空间,c#,html,email,outlook,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 "); obj

我使用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();
生成的电子邮件如下所示

欢迎,

您的用户名是username

密码是7x*NG9p%2_

问题是,当我试图复制密码时,它也会复制额外的空间,在本例中,这些空间会自动添加到末尾,而不是在我从outlook 2003打开此电子邮件时添加。 以前,此代码在电子邮件内容周围没有div。 添加div修复了outlook 2003的此问题

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

有人能帮我修一下吗

提前谢谢。

你用过吗

密码。修剪
删除所有前导和尾随空格字符。

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

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


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

密码后面没有空格。它是自动生成的。Outlook将在每行的最后一个字后添加空格,同时自己进行格式化。p{margin:1em 0;}将此放在标题样式标记中,并在html中使用p标记。实际上p标记是在rendertime插入的,您需要在样式标记中覆盖它。感谢Mala的输入。至少现在我已经解决了这个问题。我使用了表格而不是DIV。我也将尝试使用您所述的方法,并将公布结果。