【问题标题】:How do I send HTML formatted mail using PHP?如何使用 PHP 发送 HTML 格式的邮件?
【发布时间】:2011-08-08 14:12:09
【问题描述】:

尝试通过 mail() 发送 html 电子邮件,但是 gmail 只是将电子邮件显示为纯文本,没有标记,例如:

mail("blah@blah.com", "subject", "<i>Italic Text</i>");

只是显示为

<i>Italic Text</i>

有什么想法吗?

【问题讨论】:

标签: php email formatting


【解决方案1】:

您必须指定邮件的内容是 HTML:

mail("blah@blah.com", "subject", "<i>Italic Text</i>", "Content-type: text/html; charset=iso-8859-1");

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:

      您需要一个格式正确的 html 文档:

      $msg = "<html><head></head><body><i>Italic Text</i></body></html>";
      

      编辑:

      并发送标头:

      $headers  = 'MIME-Version: 1.0' . "\r\n";
      $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
      
      mail("blah@blah.com", $msg, $headers);
      

      【讨论】:

        【解决方案4】:

        我相信您必须在标题中将content-type 设置为text/html

        类似于字符串"Content-type:text/html"

        在哪里“插入”这个标题?看看http://php.net/manual/en/function.mail.php处的函数参考

        【讨论】:

          【解决方案5】:

          为了正确解释它,您还必须在电子邮件中设置标题,尤其是:

          $headers  = 'MIME-Version: 1.0' . "\r\n";
          $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
          

          您还应该设置其他常用的标题。消息终于可以这样发送了:

          mail($to, $subject, $message, $headers);
          

          您应该参考php manual mail page了解更多信息。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-10-18
            • 1970-01-01
            • 2016-06-02
            • 2014-02-03
            • 2014-06-08
            • 2015-07-19
            • 2011-06-21
            相关资源
            最近更新 更多