如何在Outlook mailitem中正确格式化HTML表格

时间:2016-11-13 07:35:57

标签: c# html email outlook

我正在使用C#实际创建一个填充html表的Outlook邮件项。问题是,当发送电子邮件时,它看起来就像地球上的地狱。我理解在outlook和chrome中,所有格式都不同。我知道html元素需要包含内联样式,而且我不能使用CSS。了解所有这些并在Brackets IDE中创建一个漂亮的内联表,然后在C#中使用相同的代码并向outlook发送电子邮件,它看起来仍然很糟糕。

如何使用HTML / outlook完成一个体面的格式化表格?

以下是我的一些C#代码。

 sb.Append("<table border=\"1px solid black\";>");
        sb.Append("<tr>");
        sb.AppendFormat("<th style=\"1px solid black\";>{0}</th>");
        sb.AppendFormat("<th style=\"1px solid black\";>{0}</th>");
        sb.AppendFormat("<th style=\"1px solid black\";>{0}</th>");
        sb.AppendFormat("<th style=\"1px solid black\";>{0}</th>");
        sb.AppendFormat("<th style=\"1px solid black\";>{0}</th>");
        sb.AppendFormat("<th style=\"1px solid black\";>{0}</th>");
        sb.AppendFormat("<th style=\"1px solid black\";>{0}</th>");
        sb.AppendFormat("<th style=\"1px solid black\";>{0}</th>");
        sb.Append("</tr>");
        sb.Append("</table>");

1 个答案:

答案 0 :(得分:0)

1)如果您仅定位Outlook邮件客户端,我建议在其中一个Microsoft工具中创建表 - 在Outlook本身或Word中。在Outlook中,您必须查看原始电子邮件以获取电子邮件标记,对于Word,您可以将文档另存为HTML。

2)在您的示例代码中,似乎&#39; border&#39;你的风格属性中缺少部分。

sb.AppendFormat("<th style=\"border: 1px solid black\";>{0}</th>");

我猜它可以在浏览器中使用,因为浏览器容忍格式错误的标记非常好,而Outlook不是那么多。