我正在尝试使用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由于某种原因不起作用?
您需要更改标题以指示其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规范.