我想写一个发送html格式的电子邮件的应用程序。我有我想要的css和html文件。我正在尝试使用style
元素发送包含嵌入式css的电子邮件,如下所示:
<style type="text/css">
h1 {border-width: 1; border: solid; text-align: center}
</style>
<h1>Title</h1>
<p>Content of the email</p>
它适用于某些客户端(例如,它适用于Mac OSX邮件应用程序),而不适用于其他客户端(例如,在gmail中阅读电子邮件时不起作用)。当我将上述内容翻译成:
<h1 style="border-width: 1; border: solid; text-align: center">Title</h1>
<p>Content of the email</p>
然后它无处不在。我正在寻找的是根据我定义的css规则将css作为style
属性放置在它们对应的dom元素上的方法。因此,对于给定的file.css
和file.html
,我想创建一个正确显示的新文件result.html
,但所有css都嵌入到dom元素中的style
属性中。有什么想法吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
删除样式标记,使用内联样式。
答案 2 :(得分:0)
我有同样的问题 - 我有一个php应用程序,一旦客户下订单就会发出确认电子邮件。在各种电子邮件客户端中它很好,但基于Web的客户端往往会删除HEAD标记,其中包含STYLE标记 - 因此任何样式都会丢失。
虽然正如@Zack所提到的那样,仍然是一个好主意,要包含你想说的纯文本版本,没有人喜欢阅读纯文本。我怀疑Zack正在阅读Lynx上的Stack Overflow,例如。
快速Google搜索“CSS inliner php”会显示:http://classes.verkoyen.eu/css_to_inline_styles
似乎这个问题之前已经在stackoverflow上问过(至少一次),至少对于php,并且在php class to inline css styles?中给出了一个Ruby答案
答案 3 :(得分:-1)
我想编写一个发送html格式的电子邮件的应用程序
永远不要这样做。电子邮件必须是纯文本。你甚至不能依赖附件。