HTML未在邮件功能中格式化


HTML not formatting in mail function

我使用以下代码:

$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)在播放,还是有解决方法?

您仅以文本而不是 HTML 的形式发送电子邮件,我相信您需要设置这些标头:

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

如文档的示例 #4 所示。

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

请参阅邮件手册页中的 nr.4 示例,了解发送 HTML 邮件的正确方法。

您需要添加标头:

$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);

您应该首先将整个消息包装为:

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

加上来自 m.edmondson 帖子的标题。