【问题标题】:CakeEmail Template InPage Css Doesnt Apply蛋糕电子邮件模板 InPage Css 不适用
【发布时间】:2014-03-14 06:41:05
【问题描述】:

问题: 在 Gmail 中,电子邮件模板不像 http://zurb.com/ink/downloads/templates/basic.html 它看起来像一个带有 html 标签的简单纯文本邮件,没有颜色格式

我尝试了什么: 使用的模板代码:http://zurb.com/ink/downloads/templates/basic.html 复制粘贴到 Views\Layouts\Emails\html\default.ctp 以便快速检查并发送测试邮件。

他们的测试表明它应该适用于所有主要的电子邮件 测试结果:https://litmus.com/pub/85a1b19

【问题讨论】:

    标签: email templates cakephp cakephp-2.0


    【解决方案1】:

    这是一个不错的布局 - 只是不适用于电子邮件。 对于模板 HTML 电子邮件,所有样式都必须是内联的 - 许多电子邮件客户端都不允许使用样式标签。

    因此,您需要像我一样在发送时将样式 css 转换为内联 css: https://github.com/dereuromark/tools/blob/master/Lib/InlineCssLib.php

    基本上,在生成最终模板时,助手的 afterLayout() 钩子可以触发此操作。 有关实施的详细信息,请参阅this discussion

    【讨论】:

    • 我尝试使用这个EmailProcessingHelper,方法是将它加载到像$this->Helpers->load('EmailProcessing'); 这样的HTML 电子邮件.ctp 文件的顶部,它可以工作。但是在将 emailFormat 设置为“两者”的情况下发送时会出现问题 - 电子邮件的文本版本也由 InlineCssLib 处理。你能告诉我如何解决这个问题吗?
    • 如果同时发送,发送时应从 HTML 中提取文本。此时,您可以简单地去除 HTML 标记。至少那是我所做的。毕竟这只是一个后备。
    • 这是我想出的简单解决方案:pastebin.com/YvUb4EgX
    【解决方案2】:

    也许参数->emailFormat('text')? 确保您使用 ->emailFormat('html')

    【讨论】:

      猜你喜欢
      • 2013-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-18
      • 2014-08-19
      相关资源
      最近更新 更多