Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中设置电子邮件正文的样式_Php_Html_Css_Email - Fatal编程技术网

如何在php中设置电子邮件正文的样式

如何在php中设置电子邮件正文的样式,php,html,css,email,Php,Html,Css,Email,我想设计邮件正文的样式。我尝试了以下方法来设计邮件正文。但它们都不起作用 1) 使用的外部样式表 style.css td{padding:10px;} mail.php <link rel="stylesheet" href="style.css"></link><table><td>....</td></table> <style type="text/css"> td{ padding-

我想设计邮件正文的样式。我尝试了以下方法来设计邮件正文。但它们都不起作用

1) 使用的外部样式表 style.css

td{padding:10px;}   
mail.php

<link rel="stylesheet" href="style.css"></link><table><td>....</td></table>
 <style type="text/css">
td{
    padding-bottom:8px;
}

</style>
<table><td>....</td></table>
。。。。
2) 定义的内部样式表:

mail.php

<link rel="stylesheet" href="style.css"></link><table><td>....</td></table>
 <style type="text/css">
td{
    padding-bottom:8px;
}

</style>
<table><td>....</td></table>

运输署{
垫底:8px;
}
....

我知道,内联样式是通过执行
来实现的,但是我有很多表,执行内联样式不是一个好主意,是否有任何方法可以避免为每个元素定义样式对于电子邮件,通常最安全的方法是表和内联样式(web设计中不应该执行的所有操作)

$mailBody='';
$mailBody.='';
$mailBody.='';
$mailBody.='';
$mailBody.='';
$mailBody.='';
$mailBody.='';

遗憾的是,内部和外部样式表并不总是适用于不同的电子邮件客户端。

有一个解决方案。请查看以下内容:

还有另一个库执行相同的任务


基本上,这些库将css样式规则转换为内联样式,以便所有电子邮件客户端都能正确呈现HTML文档。通常情况下,表格是一种方法。不幸的是,要获得最广泛的支持,您需要使用内联样式。很多元素都是层叠的,因此您不必为每个元素设置样式。例如,在
元素上使用
font-family
会将其应用于
td
元素

Campaign monitor提供了一个有用的概述,介绍了最常见的电子邮件客户端对CSS的支持


电子邮件样板()还将为您提供一个模板,您可以使用该模板开始,它将教您如何避免许多电子邮件客户端的许多常见缺点。

电子邮件客户端非常非常挑剔他们将呈现和不呈现的CSS内容。你最好的办法是找到一个全面的电子邮件样式指南(希望我能想到一个链接,但我想不出来)。我找不到。我发现,独立的电子邮件客户端对安全性有疑虑,但至少会呈现大多数HTML。疯狂的事情是当你试图支持免费提供商的时候。Gmail去掉背景图像,但留下颜色。Hotmail将所有背景颜色变为灰色。雅虎还做了其他事情。让我想发送一封纯文本电子邮件,上面写着“将此URL复制到浏览器”。旧版本的outlook将忽略大多数css,而现代的css定位。。