【问题标题】:Auto-converting HTML email to PDF. Thoughts?自动将 HTML 电子邮件转换为 PDF。想法?
【发布时间】:2012-02-03 02:40:48
【问题描述】:

前几天,一位客户向我提出了一个有趣的要求:从 HTML 电子邮件自动创建格式化的 PDF。基本上,他们每晚发送一份时事通讯,并希望将“机器人”电子邮件地址添加到接收电子邮件的列表中,将其转换为格式化的 PDF 并将该 PDF 上传到 Box.net 上的文件夹中。该过程需要通过 PHP 完成。

一旦我从电子邮件中获得 HTML,我认为之后的步骤不会太麻烦(我可能只是使用dompdf 将 HTML 转换为 PDF,格式并不复杂)。我的具体问题是关于检索电子邮件并从中获取 HTML 的步骤。有没有办法设置一个邮件帐户,每次收到电子邮件时都会运行一个 PHP 脚本?如果是这样,我如何通过 PHP 访问邮箱和/或电子邮件的内容?定期检查邮箱是否有新电子邮件更容易或更有意义?

对此的任何想法将不胜感激。

【问题讨论】:

标签: php email pdf


【解决方案1】:

我编写了一个名为email2pdf 的脚本,它的作用非常类似于将HTML(和纯文本)电子邮件转换为PDF。它使用 python 而不是 PHP,旨在与 getmail 协同工作以实际获取邮件。

更多信息在README

(抱歉有点自我推销,但我认为这是相关的)。

【讨论】:

    【解决方案2】:

    如果不知道您使用的是什么平台,就很难知道该提供什么建议。

    在 Unix 和 Linux 环境中,Fetchmail 是从 POP 或 IMAP 服务器中获取邮件的常用工具。 Fetchmail 获取您的邮件后,您可以将其保存到文件中,通过程序通过管道传输等等,然后使用各种转换工具从那里找出您的自动化。

    如果您不想在 cron 作业中使用 fetchmail “轮询”您的邮箱,那么您可以在邮件服务器本身上触发转换。作为 MTA 运行 SendmailPostfix(或其他类似软件)的 Unix 或 Linux 邮件服务器可以使用 Procmail 作为“本地传递代理”。 Procmail 包含一种灵活的语言,可用于识别电子邮件中的模式和“做”事情。如果 Procmail 正在传递您的邮件,您可以轻松地为它编写一个“配方”,以识别符合您的标准的传入 HTML 邮件,然后通过转换程序将 HTML 部分传递给管道。寻呼某人,或运行其他程序,或其他任何事情。

    将 HTML 转换为 PS/PDF 的实际过程也确实取决于您的平台,但您尚未指定。请记住,从 PS 到 PDF 的转换在 unix 环境中是微不足道的,因此如果您找到到 PS 的转换,您可以轻松地将其转换为 PDF。查看list of recommendations from w3.org,或寻求对您平台的支持。我使用 FreeBSD,其中存在 html2ps-letter

    【讨论】:

      猜你喜欢
      • 2021-06-02
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-05
      • 1970-01-01
      • 1970-01-01
      • 2016-01-29
      相关资源
      最近更新 更多