HTML不在邮件功能中格式化

时间:2012-06-13 22:43:21

标签: php html

我使用以下代码:

$message = "Hi ".$user.
  ",\r\rThe following names are on the guestlist for <b>".$night.
  "</b> on ".$date2.":\r\r". $user ."<br>". implode(", ", $names).
  "\r\rThank you for using Guestvibe.";

mail($email, "Your Guestvibe list", $message);

PHP中的回车工作正常,但<b><br>标签都没有出来。是仅仅是我的邮件客户端(Apple Mail)正在播放,还是有解决方法?

4 个答案:

答案 0 :(得分:6)

您发送的电子邮件只是文本而非HTML,我相信您需要设置这些标题:

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

,如example #4 of the docs

答案 1 :(得分:5)

PHP的mail函数默认发送纯文本邮件。

请参阅mail's manual page上的nr.4示例,了解发送HTML邮件的正确方法。

答案 2 :(得分:3)

您需要添加标题:

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

mail($email, "Your Guestvibe list", $message, $headers);

答案 3 :(得分:1)

首先应将整个信息包装成:

<html><head></head><body> msg </body></html>

来自m.edmondson帖子的标题。