2010-01-11 4 views
1

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

<?php 
// multiple recipients 
$to = '[email protected]' . ', '; // note the comma 
$to .= '[email protected]'; 

// 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 <[email protected]>, Kelly <[email protected]>' . "\r\n"; 
$headers .= 'From: Birthday Reminder <[email protected]>' . "\r\n"; 
$headers .= 'Cc: [email protected]' . "\r\n"; 
$headers .= 'Bcc: [email protected]' . "\r\n"; 

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

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

ответ

3

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

+0

I второй этот ответ. Рассылка настолько сложна, что использование существующего класса всегда является хорошей идеей. Лично я использовал Zend_Mail в последнее время, но это зависит от вас, чтобы найти то, что вам больше нравится. –

1

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

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

также:

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

  • Удалите ведущие каретки в $ headers.

Смежные вопросы