页面Css中的CakeEmail模板不适用

页面Css中的CakeEmail模板不适用,email,templates,cakephp,cakephp-2.0,Email,Templates,Cakephp,Cakephp 2.0,问题: 在Gmail中,电子邮件模板不像 它看起来像一封简单的纯文本邮件,带有html标记,没有颜色格式 我尝试的是: 使用的模板代码: 复制粘贴在视图\Layouts\Emails\html\default.ctp中的内容以进行快速检查并发送测试邮件 他们的测试表明,它应该适用于所有主要的电子邮件 测试结果:这是一个很好的布局-只是不适用于电子邮件。 对于模板HTML电子邮件,所有样式都必须是内联的-许多电子邮件客户端不允许使用样式标记 因此,在发送时,您需要使用与我类似的方法将样式css转

问题: 在Gmail中,电子邮件模板不像 它看起来像一封简单的纯文本邮件,带有html标记,没有颜色格式

我尝试的是: 使用的模板代码: 复制粘贴在视图\Layouts\Emails\html\default.ctp中的内容以进行快速检查并发送测试邮件

他们的测试表明,它应该适用于所有主要的电子邮件
测试结果:

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

因此,在发送时,您需要使用与我类似的方法将样式css转换为内联css:

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

可能是参数->emailFormat('text')?
确保您使用->emailFormat('html')

我尝试使用这个
emailprocessinghelp
方法是将它加载到html email.ctp文件的顶部,就像这样
$this->Helpers->load('EmailProcessing')并且它可以工作。但是,将emailFormat设置为“两者”发送时会出现问题,
InlineCssLib
也会处理电子邮件的文本版本。你能告诉我如何解决这个问题吗?如果你同时发送,文本应该在发送时从HTML中提取出来。此时,您可以简单地去掉HTML标记。至少我是这么做的。毕竟这只是一个退路。我找到了一个简单的解决方案: