|
|
|
| при отправке, заголовки включаются в тело письма
Вот код :
<?
$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>Я робот!
|
что это такое может быть? Ошибка РНР или ошибка сервера? | |
|
|
|
|
|
|
|
для: Temnovit
(28.05.2007 в 13:08)
| | правильно вроде все
сначала заголовки потом пустая строка потом и текст | |
|
|
|
|
|
|
|
для: bronenos
(28.05.2007 в 13:20)
| | Да, но это собственно тело письма, которое я вижу в почтовом клиенте. HTML не интерпретируеться, поле From тоже не верное. | |
|
|
|
|
|
|
|
для: Temnovit
(28.05.2007 в 13:24)
| | какой клиент? | |
|
|
|
|
|
|
|
для: bronenos
(28.05.2007 в 13:30)
| | MS Outlook | |
|
|
|
|
|
|
|
для: Temnovit
(28.05.2007 в 13:24)
| | Согласитесь, HTML у Вас оформлен с нарушениями.
Равно как и FROM. | |
|
|
|
|
|
|
|
для: 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);
?>
|
Дает такой же результат. | |
|
|
|
|
|
|
|
для: Temnovit
(28.05.2007 в 15:13)
| | А MS outlook умеет показывать html-контент?
Если нет - результат предсказуем.
Почтовый клиент обязан уметь визуализировать plaintext часть сообщения.
А остальное - исключительно по доброй воле.
Почтовый клиент, отправляющий html-контент, обязан сформировать и отправить письмо с несколькими альтернативными частями, одна из которых - plaintext, если он хочет, чтобы доставленное письмо было представлено адресату с гарантией. | |
|
|
|
|
|
|
|
для: Trianon
(28.05.2007 в 15:39)
| | MS outlook прекрасно читает html. В принципе даже если бы не читал, уж поле FROM, то точно правильно отобразил бы. Письмо приходит уже с ошибкой.... | |
|
|
|
|
|
|
|
для: Temnovit
(28.05.2007 в 15:54)
| | 1. Попробуйте честно прописать MIME-version
2. Попробуйте поменять \r\n на \n | |
|
|
|
|
|
|
|
для: Trianon
(28.05.2007 в 16:12)
| | >2. Попробуйте поменять \r\n на \n
Помогло :) Все как по маслу. Почему так? Всю жизнь писал \r\n и все было ок. На этом хостинге вот не прошло. Это с чем связано может быть? | |
|
|
|
|
|
|
|
для: Temnovit
(28.05.2007 в 16:30)
| | Как обычно, потому что люди криво реализуют RFC.
Если поглядеть описание функции mail() , там об это есть несколько строк.
Уже требование разделять строки заголовка и строки тела разными разделителями само по себе - дикость.. | |
|
|
|