【问题标题】:Use CSS in PHP mail()在 PHP mail() 中使用 CSS
【发布时间】:2014-04-29 00:14:35
【问题描述】:

我正在寻找一种在使用 PHP 的 mail() 函数发送的电子邮件中使用 CSS 的方法。

我试过了:

  $subject = 'test';
     $msg = <<<EOF
    <html>
      <body>
          <style type="text/css">
             ....
          </style>
      </body>
   </html>
EOF;

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: <test@gmail.com>' . "\r\n";

但是我放在样式标签中的所有内容在电子邮件中都不起作用。如果我打印它,我可以看到它正在工作。

【问题讨论】:

  • 实际的style 块中有什么?你的 HTML 是什么样的?
  • 考虑到我们在这里讨论的是电子邮件,使用内联样式可能更安全。其次,请看这张图表:Email CSS Compatibility Chart(看起来确实像 Gmail 去掉了&lt;style&gt; 标签)
  • 我认为您不能在电子邮件中使用&lt;style&gt; 标签。我很确定大多数(如果不是全部)客户不会让你这样做。您应该尝试在元素上使用内联 style 属性。
  • 大多数邮件客户端忽略&lt;style&gt; 标签。使用内联样式
  • 只是一些友好的建议:当您开始处理 HTML 电子邮件时,您将进入一个充满伤害的世界。您的大多数问题将来自古怪、损坏和不兼容的电子邮件客户端/界面,而不是您的后端代码。继续:)

标签: php css email


【解决方案1】:

并非每个邮件客户端都接受每个 HTML 标记。例如。 Gmail 会忽略 &lt;style&gt;。请参阅www.campaignmonitor.com/css/ 了解哪些客户端支持哪些标签的概述。对于 CSS,最好使用像 &lt;span style="..."&gt;...&lt;/style&gt; 这样的内联样式。

Mailchimp 有一个方便的工具可以将您的邮件转换为 CSS 内联样式:beaker.mailchimp.com/inline-css

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-01
    • 2016-01-06
    • 2014-05-19
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多