如何将css应用于html,使其显示为style属性

如何将css应用于html,使其显示为style属性,html,css,Html,Css,我想写一个应用程序,发送html格式的电子邮件。我有我想要的css和html文件。我正在尝试使用样式元素发送带有嵌入式css的电子邮件,如下所示: <style type="text/css"> h1 {border-width: 1; border: solid; text-align: center} </style> <h1>Title</h1> <p>Content of the email</p&g

我想写一个应用程序,发送html格式的电子邮件。我有我想要的css和html文件。我正在尝试使用样式元素发送带有嵌入式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作为样式属性放置在相应dom元素上的方法。因此,对于给定的file.css和file.html,我想创建一个新的file result.html,它可以正确显示,但所有css都作为样式属性嵌入到dom元素中。有什么想法吗

我想写一个应用程序,发送html格式的电子邮件


永远不要这样做。电子邮件必须是纯文本。你甚至不能依赖附件。

放下样式标签,使用内联样式。

这就是你要找的:


希望这有帮助

我也有同样的问题——我有一个php应用程序,一旦客户下了订单,它就会发送一封确认电子邮件。在各种电子邮件客户端中,这是可以的,但是基于web的客户端倾向于去掉头部标记,其中包括样式标记-因此任何样式都会丢失

正如@Zack所提到的,虽然它仍然是一个好主意,包括一个纯文本版本的你想说的话,但没有人喜欢阅读纯文本。例如,我怀疑Zack是否在Lynx上读取堆栈溢出

在谷歌上快速搜索“CSS inliner php”将显示:


另外,这个问题似乎以前在stackoverflow上至少被问过一次,至少在php上是这样,而且在

中给出了一个Ruby的答案不切实际且反动。你知道很多公司/邮件列表经常发送html格式的电子邮件吗?是的,人们通常不会收到这些邮件,因为他们被认为是垃圾邮件。我不是说邮件必须是纯文本,因为我是个老混蛋,我是说邮件必须是纯文本,因为没有其他东西可以依赖。OP想要使用内联样式,并询问如何转换/应用内联样式标记中的样式。这太棒了!!!你知道在我的一台服务器上以编程方式运行它的任何东西吗?Linux Debian,但我可以运行它的任何东西都比定期手动运行要好。