HTML电子邮件只显示消息中的html

nsh*_*hah 0 html php email

我正在尝试使用php中的简单mail()函数发送邮件,并在HTML中完成格式化

PHP代码:

$headers = "From: ClubbedIn\r\n";
$to = $userEmail;
$subject = $rowclub['clubName']." - New Event: ".$eventName;
$message = '<html><body>';
$message .= '<img src="http://css-tricks.com/examples/WebsiteChangeRequestForm/images/wcrf-header.png" alt="Website Change Request" />';
$message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';    
$message .= "<tr><td><strong>Event Name:</strong> </td><td>" . strip_tags($eventName) . "</td></tr>";
$message .= "<tr><td><strong>Date:</strong> </td><td>" . strip_tags($newdate) . "</td></tr>";
$message .= "<tr><td><strong>Time:</strong> </td><td>" . $startTime2." - ".$endTime2 . "</td></tr>";
$message .= "<tr><td><strong>Description:</strong> </td><td>" . strip_tags($desc) . "</td></tr>";
$message .= "</table>";
$message .= "</body></html>";

    //$message = "Event Name: ".$eventName."\nDate: ".$newdate."\nTime: ".$startTime2." - ".$endTime2."\nDescription: ".$desc;

    mail($to,$subject,$message,$headers);
Run Code Online (Sandbox Code Playgroud)

然而,电子邮件最终看起来像这样: 在此输入图像描述

html由于某种原因不起作用?

Max*_*012 5

您需要更改标题以指示其HTML电子邮件.试试这个:

$headers = "MIME-Version: 1.0\r\n";
$headers.= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers.= "From: ".$from_address."\r\n";
Run Code Online (Sandbox Code Playgroud)

更新:按照Matt Bryant的建议更改\n到\ r \n以符合rfc 2822规范.