我在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
"
或者我必须在标签等中进行内联样式,它只是这样看起来更多的工作和更多的限制。
对不起,如果这是一个愚蠢的问题。
答案 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。效果很好。