【问题标题】:Dynamic images (ex. live countdown clock) in HTML emailsHTML 电子邮件中的动态图像(例如实时倒计时)
【发布时间】:2012-11-26 18:06:19
【问题描述】:

我一直试图弄清楚 GAP、星巴克、Office Depot 等公司是如何能够发送带有实时倒数计时器的电子邮件的。显然,javascript 不会在电子邮件上运行,也不会闪烁。 PHP可以做这样的事情吗?

这是星巴克今天早上发给我的示例。 http://ink1003.com/p/lp/4a4d39bdf193841d.png?mi_t=BQsyGEAJvkyvB8vVgWNsoVfTVZ

我见过的最接近处理此问题的是付费服务http://stylecampaign.com/blog/2010/12/dynamic-time-based-images/

【问题讨论】:

  • 这是一个动画 GIF。就是这样。
  • 感谢您的回复。每次重新加载时,动画 GIF 不会重置到第一帧吗?上面的示例在每次重新加载时都会记住状态。
  • 似乎服务器会为每次加载动态生成客户版本的图像。
  • 这是一个动画 png,不是 gif。

标签: php html email


【解决方案1】:

它是一个 PNG(尽管动画 PNG 在某些浏览器上不起作用……这个以某种方式解决了这个问题)。

其中一些大公司从http://movableink.com购买服务

查看 lastminute.com 的最近时钟http://www.movable-ink-4805.com/p/lp/aad7a5df0fdfe6be.png

运行 1 分钟。期望没有人会看更长的时间。

顺便说一下,你可能想看看开源项目https://github.com/Omgitsonlyalex/EmailCountdown

【讨论】:

    【解决方案2】:

    可能是一个动画图像,并且有一个服务器端脚本正在将图像替换为具有更少 X 帧的图像,或者正在删除帧。我能想到的唯一其他东西是计时器和 iframe,但不知道 iframe 是否可以在电子邮件中工作..

    干杯!

    附:不,Php 不能做这样的事情——它在浏览器获取要解释的页面源之前在服务器端执行,所以在解释 JS 或 html 时几乎没有办法解释它。

    【讨论】:

    • 该示例未使用 iframe 完成。事实上,iframe 不会在电子邮件中 ​​100% 起作用。 campaignmonitor.com/blog/post/3219/do-iframes-work-in-email> 谢谢!
    【解决方案3】:

    我可以想出几种方法来做到这一点。使用 PHP 并在 apache 中进行细微的更改,您可以将图像动态加载为domain.com/whatever.gif,一旦知道这一点,剩下的只是对图像本身进行编码并优化代码,以便每次访问都不需要新图像,只有当有新的时间时。

    我相信这些细节可能会在短时间内敲出。

    【讨论】:

    • 谢谢,我认为你对 apache 将请求更改为 gif(或 png)而不是 php 是正确的。你觉得 PHP GD 能做到吗?
    • 我没有亲自用 GD 制作过 GIF 动画。我的理解是它不支持动画。一个简短的搜索发现了一些类,这些类被创建用于拍摄图像并将它们混合成动画。一个这样的课程是phpclasses.org/package/…
    • 使用imagick的教程在本页底部phpro.org/tutorials/Imagick.html
    【解决方案4】:

    我没有真正的答案,但我有一个提示。您可能会看看是否可以找到熟悉 Zaplet 技术的人。他们是 2000 年左右由 Reactivity 团队在奥斯汀创立的公司。他们产品的核心是发送包含动态 html 的电子邮件的想法,这样当用户查看电子邮件时,他们会看到最新的内容。例如,您可以发送一项调查,要求人们为某事投票,并且电子邮件中始终显示最新的投票结果。

    无论如何,如果你能找到 Reactivity 团队的某个人,你可能会找到答案。此外,他们的技术显然是由 Xobni 购买的,所以如果你能找到那些人,他们也可能会告诉你。

    【讨论】:

      【解决方案5】:

      检查此https://litmus.com/community/learning/27-how-to-add-a-countdown-timer-to-your-email。这通过获取 PNG 并使用 PHP 脚本来创建循环 GIF 倒计时。

      它需要一个平面 PNG,并根据您在 PHP 脚本中的变量对其进行超级倒计时。

      当用户在收件箱中收到它时,他们会看到它循环播放 1 分钟并重置。但是,如果他们留下电子邮件并返回,它将再次调整为倒计时。

      【讨论】:

        【解决方案6】:

        我一般不喜欢在答案中引用特定产品,但 gifcountdown.com 做得很好。他们的具体技术是服务器可以保持打开的 HTTP 连接并在不关闭连接的情况下逐帧生成 GIF。初始设置由您用于访问图像的 URL 定义,然后服务器每秒生成并发送一个新帧,直到用户关闭连接。例如,这是他们的服务对 2014 年新年 (GMT) 的倒计时。

        Gif countdown example http://gifcountdown.com/europe-london/1420070400/141414/0f0f0f/aaaaaa/fdfdfd/faedad/true/counter.gif

        【讨论】:

          猜你喜欢
          • 2014-03-15
          • 2012-11-15
          • 1970-01-01
          • 2020-10-12
          • 2012-01-08
          • 1970-01-01
          • 2023-04-03
          • 2013-05-24
          相关资源
          最近更新 更多