在使用PHP发送的HTML电子邮件中使用CSS

时间:2013-05-23 20:19:41

标签: php css html-email

我在php上不是很棒,请原谅我。

所以我使用PHP发送html电子邮件。

经过一些研究后,我使用表构建了一个并编写了一个PHP发送脚本,类似于你将要使用的许多人。

我知道内联样式似乎是最常用的添加样式的方法。

当我在$ headers之前定义$ message变量时,是否可以这样?

$message = " 

  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>BPN UK Contact Request</title>
    <style type="text/css">

     .exampleclass { 
       CSS Rules
     }

    </style>

    REST OF HTML LAYOUT, INCEPTION TABLES ETC ETC

"

或者我必须在标签等中进行内联样式,它只是这样看起来更多的工作和更多的限制。

对不起,如果这是一个愚蠢的问题。

5 个答案:

答案 0 :(得分:3)

这是完全可以接受的,但意识到许多基于Web的邮件客户端将替换/修改内联CCS以防止css影响“容器”webmail站点。保持CSS简单,不要尝试花哨的样式。

答案 1 :(得分:2)

你这样做的方式应该可以正常工作,但你需要记住一些事情。首先,您需要确保具有内容类型标头。这告诉浏览器将消息显示为HTML。如果不这样做,您将收到一封包含大量html标签的电子邮件作为纯文本。这样的东西就足够了:

$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

另外,用单引号(')替换HTML中的双引号(“),因为双引号指示$ message的开头和结尾。

答案 2 :(得分:1)

您也可以尝试:

    <?php
   //include CSS Style Sheet
   echo "<link rel='stylesheet' type='text/css' href='path-to-css-file' />";

   //include a javascript file
   echo "<script type='text/javascript' src='path-to-javascript-file'></script>";
?>

答案 3 :(得分:0)

作为一个为工作编写了几百个电子邮件模板的人,如果你想最大限度地提高兼容性,并且发送纯文本版本,我建议你只使用内联css邮件。

答案 4 :(得分:0)

是的,一切都需要内联,但实际上这非常笨拙而且不是很干。

在工作中我们使用类InlineStyle,它允许您像平常一样将所有CSS放在文档的<head>中,然后您可以使用该类来解析HTML和CSS并将头部中的所有CSS转换为内联样式。因此,您可以获得内联样式,但是您可以像<head>中的CSS一样编写HTML。效果很好。