如何编码 html 电子邮件打印出两个单独的页面?

How to code html email to print out two separate pages?

Business Catalyst 电子商务代发货订单已发送给供应商。我想添加第二个 table,即供应商在将产品运送给我的客户时将使用的装箱单。

自定义 html 包含两个 table 的电子邮件。 1.供应商下单 2. 供应商装箱单

试图弄清楚如何将两个 table 分开,以便在收件人收到电子邮件时将它们打印为两个单独的页面。

这可能行不通的两个原因:

  1. 大多数电子邮件客户端会在显示之前清理您的 HTML 和 CSS。这个过程因客户而异(这就是为什么大多数时事通讯都是图片)。

  2. 告诉浏览器中断页面的CSS属性对某些浏览器不起作用(例如GoogleChrome)。有关详细信息,请参阅 webkit 中的 this bug

无论如何,这是您应该添加到第一页中最后一个 HTML 标签的内容:

style="page-break-after: always;"

但是,我强烈建议您尝试生成 PDF 文件或类似文件作为附件发送。

我了解 BC 及其系统电子邮件的工作原理。在这种情况下,您将无法生成附加的 PDF。 (除非您要使用第三方服务来接收电子邮件,将其转换为 PDF,然后通过电子邮件发送 PDF。我不知道有任何此类服务。)这就是您 可以做。

首先自定义代发货电子邮件。默认情况下,您会看到发票表格。创建另一个包含装箱单信息的 table。 (有关电子邮件的标签列表,请参阅 this documentation。)

然后您可以添加样式,当用户打印页面时,它会将电子邮件分成两页。例如:

CSS

<style type="text/css">
    /* NOTE: This style tag can go anywhere in the email. */
    @media print {
        .page-break {page-break-after: always;}
    }
</style>

HTML

<!-- Code of Invoice -->

<div class="page-break">&nbsp;</div>

<!-- Code of Packing Slip -->

打印时,它应该将电子邮件的顶部(<div class="page-break">&nbsp;</div> 之前的任何内容)分成一页,其余部分分为第二页。 但是,电子邮件客户端对@media print的支持不是很好,所以不幸的是,这在许多电子邮件客户端中都不起作用。您可以通过电子邮件在 @media print 上阅读 this article

如果您知道您的直接托运人是支持电子邮件 @media print 的电子邮件客户端之一,请尝试一下,否则您还有两个其他选项可用:

  1. 获取信息并手动将其发送给托运人。
  2. 让托运人打印一页,然后将页面切成两半。

(我知道两者都不理想。)