我正在使用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>");
答案 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不是那么多。