Outlook не воспринимает кодировку! Что делать?

M2
На сайте с 11.01.2011
Offline
341
1296

Блин... я создавал тему "Помогите допилить один скрипт". Так вот этот скрипт абсолютно нормально всё отправляет, всё приходит на сервер в нормальном виде, даже файлы с русскими именами корректно отображаются. Но когда я забираю с сервера письмо программой Outlook Express, всё идёт нафиг.... все заголовки показываются открытым текстом, содержимое файла тоже открытый текст, а самого текста сообщения просто нет.......

Помогите понять в чём проблема...

------------------- Крутые VPS и дедики. Качество по разумной цене ( http://cp.inferno.name/view.php?product=1212&gid=1 ) VPS25OFF - скидка 25% на первый платеж по ссылке выше
V
На сайте с 05.01.2011
Offline
23
#1

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

M2
На сайте с 11.01.2011
Offline
341
#2

Ставлю вопрос...


$boundary = md5(uniqid(time()));
$headers = "From: ".$form['return_email']."\n";
$headers .= "To: ".$to."\r\n";
$headers .= "Subject: ".$form['subject']."\n";
$headers .= "Mime-Version: 1.0\n";
$headers .= "Content-Type: multipart/alternative; boundary=\"".$boundary."\"\n";

$body = "--".$boundary."\n";
$body .= "Content-type: text/html; charset=\"utf-8\"\n";
$body .= "Content-Transfer-Encoding: 8bit\n";
$body .= $form['message'];
$body .= "\r\n--".$boundary."\r\n";\


$body .= "Content-Type: \"".$_FILES['filename']['type']."\";name=\"".$_FILES['filename']['name']."\"\r\n";
$body .= "Content-Transfer-Encoding:base64\n";
$body .= "Content-Disposition: attachment; filename=\"".$_FILES['filename']['name']."\"\n";
$body .= chunk_split(base64_encode(file_get_contents($_FILES['filename']['tmp_name'])))."\n";
$body .= "\n--".$boundary."--\n";



if (mail($to, $form['subject'], $body, $headers))
{
echo 'Письмо отправлено';
}

else
{
echo 'Возникли ошибки';
}

Код полностью работоспособен. На сервер приходит нормально. А когда забираю с сервера на компьютер аутлуком, то получаю вышеописанную белиберду...

ParserYa
На сайте с 04.10.2010
Offline
29
#3

Это не только у аутлука косяк... заметил, что и The Bat и Thunderbird не воспринимают письмо в utf-8, хотя им в заголовках ясно говоришь: Content-type: text/html; charset="utf-8".

Решил проблему, кодируя письмо в Windows-1251 (функция iconv). В заголовках шлешь Windows-1251... тогда везде нормально... и в клиентах почтовых, и через веб-интерфейс почтовиков.

M2
На сайте с 11.01.2011
Offline
341
#4

Ну хорошо, предположим, а файл-то почему открытым текстом идёт?

[umka]
На сайте с 25.05.2008
Offline
456
#5
mark2011:
Ну хорошо, предположим, а файл-то почему открытым текстом идёт?

Content-type какой у него?

Лог в помощь!
M2
На сайте с 11.01.2011
Offline
341
#6

content-type равен $_FILES['filename']['type']

skAmZ
На сайте с 04.09.2009
Offline
122
#7
mark2011:
$headers.="Content-Type: multipart/alternative; boundary=\"".$boundary."\"\n";

Попробуй


$headers.="Content-Type: multipart/Mixed; boundary=\"".$boundary."\"\n";
M2
На сайте с 11.01.2011
Offline
341
#8

Попробовал. Вот что пришло:


текст письма --cf50660fdfc3107b2ea46b2f3c5138f7 Content-Type: "application/octet-stream";name="admin.jsp" Content-Transfer-Encoding:base64 Content-Disposition: attachment; filename="admin.jsp" PCVAIHBhZ2UgbGFuZ3VhZ2U9ImphdmEiIGltcG9ydD0ib3JnLnNwcmluZ2ZyYW1ld29yay5zZWN1 cml0eS5wcm92aWRlcnMuZW5jb2RpbmcuKixvcmcuYXBhY2hlLmRlcmJ5LmpkYmMuKixqYXZheC5z cWwuKixqYXZhLnNxbC4qIiAlPiAgDQo8JQ0KaWYocmVxdWVzdC5nZXRQYXJhbWV0ZXIoImNhbWJp YSIpIT1udWxsKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcgcHJvcCA9 IFN5c3RlbS5nZXRlbnYoIkRFUkJ

"текст письма" - это сообщение, потом идёт boundary, а всё что после заголовков - кодированный текст файла admin.jsp.

mark2011 добавил 22.02.2011 в 14:15

В общем-то сейчас вопрос немножко другой стоит... в принципе всё нормально приходит, за исключением вложения - в почтовой программе видно, что письмо содержит вложенный файл, но сам файл отображает открытым текстом. А надо, чтобы его реально было скачать :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий