Php 如何将HTML/CSS输出作为附件发送?

Php 如何将HTML/CSS输出作为附件发送?,php,css,email,pdf-generation,Php,Css,Email,Pdf Generation,我参与了一个商业软件套件,其后端用PHP编码。我们的客户要求我们的报告可以通过电子邮件发送,因为我们知道这些报告中有很多图表、表格和视觉效果。他们会为每个用户安排一个特定的邮件发送时间,它会运行一个包含他们想要的选项的报告,然后基本上复制输出并发送给他们 我们已经做过类似的事情了,但是教这些报告如何从屏幕到电子邮件是一个非常详尽的过程;浮动div乱七八糟,各种样式被outlook2007打破 我正在询问如何获取输出并将其保存为可附加到电子邮件的内容。这就是他们的报告。目前,我们只是直接从cron

我参与了一个商业软件套件,其后端用PHP编码。我们的客户要求我们的报告可以通过电子邮件发送,因为我们知道这些报告中有很多图表、表格和视觉效果。他们会为每个用户安排一个特定的邮件发送时间,它会运行一个包含他们想要的选项的报告,然后基本上复制输出并发送给他们

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

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


我已经研究过PDF转换器,但它们可能不起作用;我们可以不使用图表,但PDF无法正确解释我们的许多样式。理想的产品是一个可以“截屏”我们的输出并将其保存为JPG的产品,如果这样的产品可能存在的话。我的问题基本上是,有人知道如何通过将输出放入JPG来为我们节省大量的工作以获得更好的产品吗?我知道它必须从浏览器中呈现,这可能是一个愚蠢的想法,但希望有人能引导我走向正确的方向。

根据我个人的经验,正如我为我们的平台所做的那样,我们将html作为常规页面生成,然后发送电子邮件,注意使用图像的相对路径,然后使用通过SMTP服务器发送

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


作为一个额外的提示,我们使用Javascript库制作图表,作为中间步骤,通过CasperJS将图表呈现为PNG,这样我们可以在Chrome/Firefox中开发出外观非常好看的图表,然后静态呈现这些图表以通过电子邮件发送。

这是一个非常广泛的问题,但实际上并不适合这样做,但这里有一个链接可以帮助你,我担心它太宽了。不过,谢谢你的链接,尽管我不认为html2canvas是在后端运行的?这一切都计划通过cron运行。您是否在此处查看了PHP邮件功能:@eyllovefiddle我们已经通过PHP的邮件功能以HTML电子邮件的形式发送了一些报告。也很结实。谢谢你的否决票。@VaelVictus那么为什么要把它写进附件并发送它这么难呢?CasperJS的提示很有趣,我会把它放在书签里。谢谢我想我们最终会走这条路。。。星期一我们的设置基本上是PHPMailer->Postfix Smarthost->SendGrid中继。