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

时间:2017-08-25 03:05:53

标签: 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 #$tranid\n";
  $headers = "From: $email\n";

  $message = '<html><body>';
  $message .= '<h1>Hello, World!</h1>';
  $message .= '</body></html>';

  mail($to,$subject,$message,$headers);

?>

电子邮件效果很好,$_GET数据很好。只是讨论如何让消息区域阅读<html>

1 个答案:

答案 0 :(得分:1)

根据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("\r\n", $headers));
?>