如何将 HTML/CSS 输出作为附件邮寄


How to mail HTML/CSS output as attachment?

我为一个后端用PHP编码的商业软件套件做出了贡献。我们的客户要求我们的报告——充满了图表、表格、视觉效果——可以通过电子邮件发送。他们将为每个用户安排某些邮件发送的时间,它将运行包含他们想要的选项的报告,然后基本上复制输出的内容并邮寄它们。

我们已经做了这样的事情,但是教这些报告如何从屏幕转到电子邮件是一个非常详尽的过程;浮动div是一团糟,各种样式被Outlook 2007打破。

我正在询问如何获取输出并将其保存为可附加到电子邮件的内容。那将是他们的报告。目前,我们只是直接从cron运行的PHP文件中打印出HTML电子邮件。

我研究过PDF转换器,它们可能不会奏效;我们可以没有图表,但是我们的很多样式不会被PDF正确解释。理想的产品是"截图"我们的输出并将其保存为 JPG,如果这样的东西可能存在的话。我的问题是,有谁知道如何通过将输出放入 JPG 来为我们节省大量工作以获得更好的产品?我知道它必须从浏览器呈现,这可能是一个愚蠢的想法,但希望有人能引导我朝着正确的方向前进。

根据我的个人经验,当我为我们的平台执行此操作时,我们将html生成为常规页面,然后通过电子邮件发送,注意使用图像的相对路径,然后使用PHPMailer通过SMTP服务器发送它。

我们将报告作为主要邮件正文发送,而不是作为附件发送。

作为

额外的提示,我们使用Javascript库来制作图表,作为中间步骤,通过CasperJS将图表渲染为PNG,这样我们就可以在Chrome/Firefox中开发非常漂亮的图表,然后静态渲染这些图表以通过电子邮件发送。