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

本文关键字:格式化 HTML Outlook | 更新日期: 2023-09-27 18:17:51

我正在使用c#实际创建一个填充html表的outlook邮件项目。问题是,当电子邮件发送时,它看起来像地球上的地狱。我理解outlook和chrome的格式不同。我知道html元素需要包含内联样式,我不能使用CSS。知道了所有这些,在括号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>");

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

1)如果你的目标是Outlook邮件客户端,我建议在微软的一个工具中创建表格——在Outlook本身或Word中。在Outlook中,你必须查看原始电子邮件才能获得电子邮件标记,而在Word中,你可以将文档保存为HTML。

2)在您的示例代码中,似乎"边界"部分在您的样式属性中缺失。

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

我猜它在浏览器中是有效的,因为浏览器对格式错误的标记容忍得很好,而Outlook则不然。