2010-10-28 48 views
0

我想编写一个发送html格式的电子邮件的应用程序。我有我想要的css和html文件。我试图用style元素,像这样与嵌入式CSS来发送电子邮件:如何将CSS应用于html,使其显示为样式属性

<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.cssfile.html,我想创建一个新文件result.html,它可以正确显示,但所有CSS都嵌入为dom元素中的style属性。有任何想法吗?

回答

1

这是你在找什么:

http://www.mailchimp.com/labs/inlinecss.php

希望这有助于!

+0

这太棒了!你会知道任何在我的服务器上编程的东西吗? – rmarimon 2010-10-30 16:18:32

+0

@rmarimon,我们需要知道您正在运行的是什么服务器环境... – jball 2010-11-01 17:54:48

+0

Linux Debian,但是我可以运行它的任何东西都比定期手动执行它更好。 – rmarimon 2010-11-02 04:47:57

-1

我想写发送HTML格式的电子邮件

决不做这样的应用程序。电子邮件必须是纯文本。你甚至不能依靠附件。

+3

不切实际和反动。你知道很多公司/邮件列表会定期发送HTML格式的电子邮件吗? – jball 2010-10-28 02:56:30

+0

是的,人们经常不会收到这些邮件,因为它们被认为是垃圾邮件。我不是说邮件必须是纯文本,因为我是一个老屁,我说邮件必须是纯文本,因为*没有别的东西可以依赖*。 – zwol 2010-10-28 03:14:34

0

删除样式标签,使用内联样式。

+2

OP希望使用内联样式,并询问如何从样式标签内联转换/应用样式。 – 2010-10-28 03:09:18

0

我有同样的问题 - 我有一个PHP应用程序,一旦客户下了订单就会发出确认邮件。在各种电子邮件客户端中,这很好,但基于Web的客户端往往会剥离HEAD标签,其中包含STYLE标签 - 因此任何样式都会丢失。

尽管@Zack提到要包含纯文本版本的内容,但没有人喜欢阅读纯文本,但它仍是一个好主意。例如,我怀疑Zack是否正在读取Lynx上的Stack Overflow。

快速谷歌搜索“CSS内衬PHP”带来了:http://classes.verkoyen.eu/css_to_inline_styles

而且似乎这个问题已经被问过的计算器(至少一次),至少在PHP中,并有一个Ruby回答如下php class to inline css styles?