【问题标题】:How to format HTML table properly in Outlook mailitem如何在 Outlook mailitem 中正确格式化 HTML 表格
【发布时间】:2017-03-27 01:53:24
【问题描述】:

我正在使用 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>");

【问题讨论】:

    标签: c# html email outlook


    【解决方案1】:

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

    2) 在您的示例代码中,您的样式属性中似乎缺少“边框”部分。

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

    我猜它可以在浏览器中使用,因为浏览器可以很好地容忍格式错误的标记,而 Outlook 则没有那么多。

    【讨论】:

    • 所以当我的代码运行并返回数据时,是否可以在运行时创建一个单词表并填充该表,然后将该表添加到 Outlook 并发送电子邮件?这将是一项自动化服务。
    • @Mattaceten 如果你想生成 HTML,我建议使用一些模板引擎。最好的方法之一是使用作为 ASP.NET 一部分的 Razor 引擎。看看这个 NuGet 包:nuget.org/packages/RazorEngine。您仍然需要编写 Outlook 特定的标记,但您将能够更轻松地使用数据填充元素。
    猜你喜欢
    • 1970-01-01
    • 2019-11-04
    • 1970-01-01
    • 2020-04-08
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 1970-01-01
    • 2020-10-07
    相关资源
    最近更新 更多