我想将包含CSS样式表的HTML页面发送到电子邮件帐户。问题是CSS样式表根本不可见。我是否必须内联每个CSS样式?这似乎是非常低效的方法。还有其他想法吗?
以下是发送电子邮件的PHP代码:
<?php
$to = "myaccount@gmail.com";
// subject
$subject = "Test mail";
// message
$message = file_get_contents("index.html");
// from
$from = "myaccount@gmail.com";
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Additional headers
$headers .= "From:" . $from;
// Mail it
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>
非常感谢你的帮助。提前谢谢。
答案 0 :(得分:2)
最好将<style>
块放在index.html
正文中的所有CSS中。某些电子邮件客户端/门户网站使用<link rel="stylesheet" type="text/css" href="..." >
剪切了标头中嵌入的所有CSS。因此,不使用内联CSS可能会导致您的电子邮件出现“损坏”状态。或者只是在@gmail.com
的帐户上看起来很糟糕。
答案 1 :(得分:1)
代码可能会很繁琐,但像https://litmus.com/和envato这样的公司会帮助解决一些模板和格式问题。
我的2¢:电子邮件提供商不能信任所有发送的信息来源,因此这是一种防止恶意代码的方式。
答案 2 :(得分:1)
在index.html文件中,添加<style>
标记,如下所示。
<style>
.class{
style: attribute;
}
</style>";
这应该可行,如果没有,那么我可能会建议在网站上托管您的样式表,并在索引文件的头部包含一个类似下面的<link>
标签
<link rel='stylesheet' type='text/css' href='http://www.yourstylesheet.com'>";
这两种方法都可以解决您的问题。
答案 3 :(得分:0)
只需将css代码嵌入到该html-email的<head>
中。