2010-08-13 2 views
1

У меня есть функция почты, и она отлично работает, я получаю письма. Но проблема в том, что я также получаю теги HTML как есть. У меня есть код следующим образом:Как избежать отображения тегов HTML в почтовой функции

$from=$_REQUEST['id']; 
$to = '[email protected]'; 

$headers .= 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

$headers = "From: $from \r\n" . 
    "Reply-To: $from \r\n" . 
    "X-Mailer: PHP/" . phpversion(); 

$subject="Contact Mail has received"; 

$message=" SOME HTML TAGS "; 

Внутри тела сообщения, у меня есть HTML-теги, как table, tr, td и т.д. Но когда я получаю почту, я не получаю таблицу. Я получаю все HTML-теги как table, tr, td. В заголовке я даже указал тип содержимого как text/html, но все же у меня такая же проблема.

Как я могу избежать этого?

+0

используйте почтовый класс, чтобы вы могли отправлять текстовые и html-письма : http://codeigniter.com/user_guide/libraries /email.html – Grumpy

ответ

7

Вы не указали text/html, потому что вы переписываете заголовки!

Здесь вы назначаете его затем перезаписать его:

$headers .= 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

$headers = "From: $from \r\n" . 
     "Reply-To: $from \r\n" . 
     "X-Mailer: PHP/" . phpversion(); 

Это должно быть

$headers .= 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

$headers .= "From: $from \r\n" . 
     "Reply-To: $from \r\n" . 
     "X-Mailer: PHP/" . phpversion(); 

Вы пропустили точку, чтобы добавить дополнительные заголовки. Это перезаписывает ваш Content-Type, и поэтому он анализирует электронную почту как текст и не имеет HTML

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