如何使用 PHP 发送的 HTML 为电子邮件正文构建格式



试图了解如何自定义使用PHP发送的电子邮件。 我相信它应该用基本的<html>和表格来完成。 我在$message领域做错了什么?

截至目前,我在消息区域中得到这个:

<html><body><h1>Hello, World!</h1></body></html>

这是我的代码:

<?php
session_start();
require_once('payflow.php');
$tranid  = $_GET['PNREF'];
$email   = $_GET['EMAIL'];
$billtofirstname = $_GET['BILLTOFIRSTNAME'];
$billtolastname = $_GET['BILLTOLASTNAME'];
$billtoname = $_GET['BILLTONAME'];
$billtostreet = $_GET['BILLTOSTREET'];
$billtostreet2 = $_GET['BILLTOSTREET2'];
$billtocity = $_GET['BILLTOCITY'];
$billtostate = $_GET['BILLTOSTATE'];
$billtozip = $_GET['BILLTOZIP'];
$to = $email;
$subject = "ORDER #$tranidn";
$headers = "From: $emailn";
$message = '<html><body>';
$message .= '<h1>Hello, World!</h1>';
$message .= '</body></html>';
mail($to,$subject,$message,$headers);
?>

电子邮件效果很好,$_GET数据很好。 只是对如何让消息区域读取<html>感到困惑

根据 php 文档,

<?php
// Multiple recipients
$to = 'johny@example.com, sally@example.com'; // note the comma
// Subject
$subject = 'Birthday Reminders for August';
// Message
$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
<th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
<td>Johny</td><td>10th</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';
// To send HTML mail, the Content-type header must be set
$headers[] = 'MIME-Version: 1.0';
$headers[] = 'Content-type: text/html; charset=iso-8859-1';
// Additional headers
$headers[] = 'To: Mary <mary@example.com>, Kelly <kelly@example.com>';
$headers[] = 'From: Birthday Reminder <birthday@example.com>';
$headers[] = 'Cc: birthdayarchive@example.com';
$headers[] = 'Bcc: birthdaycheck@example.com';
// Mail it
mail($to, $subject, $message, implode("rn", $headers));
?>

最新更新