如何使用在线托管的 html 电子邮件签名?

How to use a html email signature that is hosted online?

对于我的电子邮件签名,我想使用通过 PHP 脚本生成的托管 HTML 代码,因为我可能想要更改签名信息 我真的希望该托管解决方案能够确保不仅以后的邮件,而且发送的邮件都有 "new" 签名。

我在"tld.com/signature/my@mail.com"后面有一个PHP脚本(是的,没有.php结尾)等待调用。如果我打开该域,它将输出有效的 HTML 代码。

但是如何将输出作为 html 签名嵌入到我的邮件中? Iframes 不是一个选项,因为它们并非在任何地方都有效。 Html img 标签不起作用,因为 url 不输出图像。

有什么想法吗? :-) - 谢谢!

据我所知,图片和 iframe 是实现此目的的唯一方法,尽管您也可以使用动态 css;无论哪种方式,您的签名生成 API 都需要更改,或者至少需要包装。

一篇博客 post here 详细介绍了作者如何在用户的 Facebook 墙上 post 动态得分。

这是他们使用的工作流程:

由于乐谱必须是动态的,他们所做的是创建一个 API 来拍摄 HTML 内容的快照图像,然后客户端可以显示该图像。

他们创建了一个 API 端点,它将

  1. 查询分数 HTML 生成器端点(在您的情况下生成签名)以生成您希望客户端显示的 HTML。

  2. 使用 PHP 5.2 的 HTML2PDF 实用程序将 HTML 转换为 PDF。

  3. 将 PDF 渲染成图像,然后可以使用 PHP::ImageMagick.

  4. 返回给用户进行显示

他们使用以下代码完成此操作:

$html2pdf = new HTML2PDF('P', 'A4');
$html2pdf->writeHTML($html_content);
$file = $html2pdf->Output('temp.pdf','F');

$im = new imagick('temp.pdf');
$im->setImageFormat( "jpg" );
$img_name = time().'.jpg';
$im->setSize(800,600);
$im->writeImage($img_name);
$im->clear();
$im->destroy();

此 API 返回的图像然后可以呈现为图像标记以显示给客户端。有此工作流程的演示可用 here