我有通过PHP发送HTML电子邮件的代码。它有一张桌子。我想在屏幕截图中加粗圆角。但到达Gmail的电子邮件并未显示应该应用于“约”的类选择器的粗体和其他更改。
我可以在PHP HTML电子邮件的样式表中使用类或ID选择器吗?我不喜欢使用内联CSS,因为它效率低下。我在身体之间使用它们。 这是代码;
$to = "xxxx@gmail.com, xxxx@gmail.com"; //multiple recipients with comma separated
$subject = "Here is the subject"; //cannot contain newline characters
$message = "<h1>This is Heading H1</h1>";
$message .= "This is my <b>first</b> line of text.<br>This is my <b>second</b> line of text<br><br>"; //each line should be separated with (\n).
$message .= "<html>
<head>
<style>
body{
color:#000000;
background-color:#FFFFFF;
font-family:arial, verdana, sans-serif;
}
h1{
font-size:18px;
}
p{
font-size:12px;
}
table{
background-color:#efefef;
border-style:solid;
border-width:1px;
border-color:#999999;
}
th{
background-color:#cccccc;
font-weight:bold;
padding:5px;
}
td{
padding:5px;
}
td.about{
font-family:courier, courier-new, serif;
font-weight:bold;
}
</style>
</head>
<body>
<table>
<tr>
<th> About </th>
<th> Description </th>
</tr>
<tr>
<td class=\"about\"> Name </td>
<td> Andreas </td>
</tr>
<tr>
<td class=\"about\"> Address </td>
<td> Germany </td>
</tr>
<tr>
<td class=\"about\"> Message </td>
<td> I like your 8 day tour package. What are the rates? </td>
</tr>
</table>
</body>
</html>
";
//headers like From, Cc, Bcc, Reply-to, Date ???????????
//$header = "From:raveen1231@gmail.com \r\n";
$header = "From: RXXXXX CXXXXX <rxxxx1111@gmail.com> \r\n"; //additional headers should be separated with (\r\n)
//$header .= "Cc: rxxxxx111@gmail.com \r\n";
//$header .= "Bcc: rxxxxx222@gmail.com \r\n";
//always specify MIME version, content type, and character set when sending HTML email
$header .= "MIME-Version: 1.0 \r\n";
$header .= "Content-type:text/html;charset=UTF-8 \r\n";
//$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; //////////////////////////////Pls Delete later
$retval = mail( $to, $subject, $message, $header );
if( $retval == true ){
echo "Message sent successfully";
}
else{
echo "Message could not be sent!";
}
答案 0 :(得分:0)
HTML电子邮件因为正确而非常棘手;每个电子邮件客户端将以不同的方式处理样式。引自Lee Munroe的Things I've Learned About Building & Coding HTML Email Templates(重点是作者的):
电子邮件客户端使用不同的呈现引擎呈现HTML电子邮件:
- Apple Mail,Outlook for Mac,Android Mail和iOS Mail使用WebKit
- Outlook 2000/02/03使用Internet Explorer
- Outlook 2007/10/13使用Microsoft Word(是的,Word!)
- 网络客户端使用其浏览器的相应引擎,例如Safari使用WebKit,Chrome使用Blink
Gmail 删除了
<link>
标记中的<style>
标记和任何CSS,以及未内联的任何其他CSS。不仅仅是Gmail网络,还包括原生Gmail移动应用。
要直接回答您的问题,Gmail会删除所有<style>
代码,因此您需要将CSS内嵌到HTML元素中。
有一些Web服务可以为您内联CSS,例如
此外,您可以使用CssToInlineStyles之类的库对其进行内联,以便在代码中完全处理它。