PHP HTML теги рендеринга почты в Outlook - PullRequest
1 голос
/ 11 января 2010

Я использовал этот пример на сайте PHP для отправки электронного письма в формате HTML, но когда я получаю письмо, отправленное сценарием, он отображает теги в клиенте (Outlook)

<?php
// multiple recipients
$to  = 'aidan@example.com' . ', '; // note the comma
$to .= 'wez@example.com';

// 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>Joe</td><td>3rd</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' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

// Mail it
mail($to, $subject, $message, $headers);
?>

Мой клиент настроен на получение почты в формате HTML - поэтому я не уверен, что происходит. Есть указатели?

Ответы [ 2 ]

3 голосов
/ 11 января 2010

Я не знаю, как исправить существующий скрипт, но для отправки электронных писем в формате HTML я всегда рекомендую использовать готовый класс, такой как PHPMailer : он обеспечивает безопасное и чистая обработка писем, состоящих из нескольких частей, нескольких получателей и даже вложенных файлов.

1 голос
/ 11 января 2010

Ваш код работает на меня. Если в Outlook есть функция для просмотра исходного исходного кода сообщения, вам следует внимательно проверить его и убедиться, что что-то не так.

Иногда почтовый клиент игнорирует некоторые заголовки, если вам смешиваются переводы строк в стиле Windows и Unix.

Также:

  • Не добавляйте заголовок To явно. PHP сделает это за вас.

  • Удалить ведущие символы возврата каретки в $ заголовках.

...