Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: mail() - при отправке, заголовки включаются в тело письма
 
 автор: Temnovit   (28.05.2007 в 13:08)   письмо автору
 
 

при отправке, заголовки включаются в тело письма

Вот код :

<?
$email_to_send 
'mymail@mail.ru';
$subject 'тестовое письмо';
$text "Привет!<br>Я робот!";
$headers implode("\r\n", array("From: the_bot",
                             
"Reply-to: another@mail.ru",
                             
"Content-type: text/html") );
mail($email_to_send$subject$text$headers);
?>


Получаю такое:

Content-type: text/html
Message-Id: <20070528082450.0E3BB214134@mailserver.mysite.ru>
Date: Mon, 28 May 2007 11:24:50 +0300 (EEST)
X-unconfigured-debian-site-MailScanner: Found to be clean
X-unconfigured-debian-site-MailScanner-SpamScore: s
X-unconfigured-debian-site-MailScanner-From: www-data@mailserver.mysite.ru
X-Qmail-Scanner-1.25st: added fake MIME-Version header
MIME-Version: 1.0

Привет!<br>Я робот!


что это такое может быть? Ошибка РНР или ошибка сервера?

   
 
 автор: bronenos   (28.05.2007 в 13:20)   письмо автору
 
   для: Temnovit   (28.05.2007 в 13:08)
 

правильно вроде все
сначала заголовки потом пустая строка потом и текст

   
 
 автор: Temnovit   (28.05.2007 в 13:24)   письмо автору
 
   для: bronenos   (28.05.2007 в 13:20)
 

Да, но это собственно тело письма, которое я вижу в почтовом клиенте. HTML не интерпретируеться, поле From тоже не верное.

   
 
 автор: bronenos   (28.05.2007 в 13:30)   письмо автору
 
   для: Temnovit   (28.05.2007 в 13:24)
 

какой клиент?

   
 
 автор: Temnovit   (28.05.2007 в 15:11)   письмо автору
 
   для: bronenos   (28.05.2007 в 13:30)
 

MS Outlook

   
 
 автор: Trianon   (28.05.2007 в 14:03)   письмо автору
 
   для: Temnovit   (28.05.2007 в 13:24)
 

Согласитесь, HTML у Вас оформлен с нарушениями.
Равно как и FROM.

   
 
 автор: Temnovit   (28.05.2007 в 15:13)   письмо автору
 
   для: Trianon   (28.05.2007 в 14:03)
 

Согласен, но ни в том, ни в другом случае, результата такого быть не должно :(

<? 
$email_to_send 
'mymail@mail.ru'
$subject 'тестовое письмо'
$text "
<html>
 <body>
   Привет!<br>Я робот!
 </body>
</html>
"

$headers implode("\r\n", array("From: the_bot <another@mail.ru>"
                             
"Reply-to: another@mail.ru"
                             
"Content-type: text/html") ); 
mail($email_to_send$subject$text$headers); 
?>

Дает такой же результат.

   
 
 автор: Trianon   (28.05.2007 в 15:39)   письмо автору
 
   для: Temnovit   (28.05.2007 в 15:13)
 

А MS outlook умеет показывать html-контент?

Если нет - результат предсказуем.
Почтовый клиент обязан уметь визуализировать plaintext часть сообщения.
А остальное - исключительно по доброй воле.

Почтовый клиент, отправляющий html-контент, обязан сформировать и отправить письмо с несколькими альтернативными частями, одна из которых - plaintext, если он хочет, чтобы доставленное письмо было представлено адресату с гарантией.

   
 
 автор: Temnovit   (28.05.2007 в 15:54)   письмо автору
 
   для: Trianon   (28.05.2007 в 15:39)
 

MS outlook прекрасно читает html. В принципе даже если бы не читал, уж поле FROM, то точно правильно отобразил бы. Письмо приходит уже с ошибкой....

   
 
 автор: Trianon   (28.05.2007 в 16:12)   письмо автору
 
   для: Temnovit   (28.05.2007 в 15:54)
 

1. Попробуйте честно прописать MIME-version
2. Попробуйте поменять \r\n на \n

   
 
 автор: Temnovit   (28.05.2007 в 16:30)   письмо автору
 
   для: Trianon   (28.05.2007 в 16:12)
 

>2. Попробуйте поменять \r\n на \n

Помогло :) Все как по маслу. Почему так? Всю жизнь писал \r\n и все было ок. На этом хостинге вот не прошло. Это с чем связано может быть?

   
 
 автор: Trianon   (28.05.2007 в 16:40)   письмо автору
 
   для: Temnovit   (28.05.2007 в 16:30)
 

Как обычно, потому что люди криво реализуют RFC.
Если поглядеть описание функции mail() , там об это есть несколько строк.
Уже требование разделять строки заголовка и строки тела разными разделителями само по себе - дикость..

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования