我想设置邮件正文。我已经尝试了以下方法来设置邮件正文的样式。但他们都没有工作
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>
答案 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文档