【问题标题】:How to use a html email signature that is hosted online?如何使用在线托管的 html 电子邮件签名?
【发布时间】:2015-12-08 04:19:45
【问题描述】:

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

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

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

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

【问题讨论】:

  • 这永远行不通。邮件客户端不会自动获取外部资源,无需用户干预/批准。只有那些不关心/不了解垃圾邮件的人才能看到您的签名。
  • 我不知道动态但 HTML 创建的签名可以在电子邮件中使用,因为我在 gmail 中使用它

标签: php html email embed signature


【解决方案1】:

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

一篇博文 here 详细介绍了作者如何在用户的 Facebook 墙上发布动态分数。

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

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

他们创建了一个 API 端点

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

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

  3. 将 PDF 渲染成图像,然后可以返回给用户使用PHP::ImageMagick 显示。

他们使用以下代码做到了这一点:

$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 提供了此工作流的演示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-15
    • 2018-05-20
    • 1970-01-01
    • 2020-04-19
    • 2015-11-30
    • 2017-12-04
    • 2018-01-12
    • 1970-01-01
    相关资源
    最近更新 更多