如何在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>");
1)如果你的目标是Outlook邮件客户端,我建议在微软的一个工具中创建表格——在Outlook本身或Word中。在Outlook中,你必须查看原始电子邮件才能获得电子邮件标记,而在Word中,你可以将文档保存为HTML。
2)在您的示例代码中,似乎"边界"部分在您的样式属性中缺失。
sb.AppendFormat("<th style='"border: 1px solid black'";>{0}</th>");
我猜它在浏览器中是有效的,因为浏览器对格式错误的标记容忍得很好,而Outlook则不然。