我试图创建一个应用程序,将发送出风格沉重的电子邮件,并要求客户端工作,除了谷歌的Gmail。我研究了这个问题,看起来Gmail从外部文件或嵌套在“样式”标签中的CSS中剥离了CSS。有没有一种简单的方法可以将样式从外部文件移动到内联文件?
需要的东西:
<style>
.wide { width: 100px; }
.cell { display: block; }
</style>
<span class="wide cell">Sample</span>
并将其转换为:
<div class="wide cell" style="width: 100px; display: block;">Sample</div>
谢谢!
3条答案
按热度按时间xcitsw881#
这里有几个宝石,你可以检查出来:
我在写这个答案的时候没有赢家,但是premailer似乎是最新的。
qlzsbp2j2#
添加
premailer
:bxjv4tth3#
你的推理只有一个问题……许多样式,甚至是内联,都不受支持。
下面是what is supported in email的参考
在您的示例中,使用显示:标签,Outlook 07+不支持
我的公司每天发送数千封电子邮件,我经常参与制作。在实践中,内联样式可以工作,但它并不像内联所有东西那么简单,它会工作。你必须非常小心你使用什么和如何使用它。我已经诉诸于我的开始,做几乎所有的纯HTML与表格的布局。这基本上是我发现的让事情几乎100%工作的唯一方法。
如果你要将这个功能构建到一个会得到大量使用的应用程序中,我也强烈建议通过他们的API构建Email on Acid。虽然您可以编写质量非常好的输出,但Microsoft无疑会找到一些方法使您的有效代码无法工作。电子邮件酸将呈现使用任何疯狂微软正在使用的时间,以显示你,如果你的电子邮件工程。这是纯粹的天才和需要使用那些谁是认真的发送大量的电子邮件。“不,我不是为公司工作……”