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

时间:2012-03-27 05:17:03

标签: php html css email

我想设置邮件正文。我已经尝试了以下方法来设置邮件正文的样式。但他们都没有工作

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

td{padding:10px;}   

mail.php

<link rel="stylesheet" href="style.css"></link><table><td>....</td></table>

2)定义的内部样式表:

mail.php

 <style type="text/css">
td{
    padding-bottom:8px;
}

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

我知道,内联样式通过<td style='padding-bottom:8px'>工作,但我有很多表,做内联样式不是一个好主意,是否有任何解决方法,所以不需要为每个元素定义样式< / p>

3 个答案:

答案 0 :(得分:7)

对于电子邮件,通常最安全的赌注是桌子和内联样式(你不应该在网页设计中做的一切)。

$mailBody = '<html><body>';
$mailBody .='<table width="100%"><tr>';
$mailBody .='<td style="padding:10px"></td>';
$mailBody .='<td style="padding:10px"></td>';
$mailBody .='<td style="padding:10px"></td>';
$mailBody .='</tr></table>';
$mailBody .='</body></html>';

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

答案 1 :(得分:2)

通常情况下,表格是可行的。不幸的是,要获得最广泛的支持,您需要使用内联样式。很多都是级联的,所以你不必为每个元素设置样式。例如,在font-family元素上使用table会将其应用于td元素。

广告系列监视器提供了对此处http://www.campaignmonitor.com/css/

最常见电子邮件客户端中CSS支持的有用概述

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

答案 2 :(得分:0)

有一个解决方案。请检查一下:CSS to Inline style

还有另一个库可以执行相同的任务。 http://www.pelagodesign.com/sidecar/emogrifier/

基本上这些库会将您的css样式规则转换为内联样式,以便所有电子邮件客户端都能正确呈现您的HTML文档