За последние 24 часа нас посетили 17524 программиста и 1308 роботов. Сейчас ищут 832 программиста ...

Microsoft Outlook 2010 и кракозябры

Тема в разделе "Работа с почтой", создана пользователем xmav, 20 фев 2013.

  1. xmav

    xmav Активный пользователь

    С нами с:
    20 фев 2013
    Сообщения:
    10
    Симпатии:
    0
    Доброе время суток уважаемые! Я здесь новичок и заранее прошу прощения возможно за простой вопрос.

    Создана некая форма на которой есть кнопка прикрепления файла.
    После нажатия на вторую кнопку "отправить" сообщение уходит на заранее заданный e-mail.
    Сообщение нормально читается как в самом web интерфейсе mail.ru, так и в почтовой программе TheBat!, но приходит кракозябрами в Microsoft Outlook 2010.
    Подскажите, пожалуйста, что я написал не так и что нужно изменить в коде, чтобы Microsoft Outlook читал нормально письма? Заранее спасибо.

    Код (Text):
    1. $picture = "";
    2.  
    3.   // Если поле выбора вложения не пустое - закачиваем его на сервер
    4.   if (!empty($_FILES['mail_file']['tmp_name']))
    5.   {
    6.     // Закачиваем файл
    7.     $path = $_FILES['mail_file']['name'];
    8.     if (copy($_FILES['mail_file']['tmp_name'], $path)) $picture = $path;
    9.   }
    10.  
    11.   // Вспомогательная функция для отправки почтового сообщения с вложением
    12.   function send_mail($to_mail, $subject, $html, $path)
    13.   {
    14.  
    15.     $fp = fopen($path,"r");
    16.     if (!$fp)
    17.     {
    18.       print "Файл $path не может быть прочитан";
    19.       exit();
    20.     }
    21.     $file = fread($fp, filesize($path));
    22.     fclose($fp);
    23.     $boundary = "--".md5(uniqid(time())); // генерируем разделитель
    24.     include "includes/contacts.inc";
    25.     $headers = 'From: Агентство <'.$email1.'>' . "\r\n" .
    26.     'content-type: text/plain; charset="windows-1251"' . "\r\n" .
    27.     'X-Mailer: PHP/' . phpversion();
    28.    
    29.     $headers .= "MIME-Version: 1.0\n";
    30.     $headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
    31.    
    32.     $multipart .= "--$boundary\n";
    33.     $multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
    34.     $multipart .= "$html\n\n";
    35.     $message_part = "--$boundary\n";
    36.     $message_part .= "Content-Type: application/octet-stream\n";
    37.     $message_part .= "Content-Transfer-Encoding: base64\n";
    38.     $message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n";
    39.     $message_part .= chunk_split(base64_encode($file))."\n";
    40.     $multipart .= $message_part."--$boundary--\n";
    41.    
    42.     $subject = "Zakaz ".$code_zakaz."-".$predmet;
    43.    
    44.     if(!mail($to_mail, $subject, $multipart, $headers))
    45.     {
    46.       echo "К сожалению, письмо не отправлено";
    47.       exit();
    48.     }
    49.   }  
    50.  
    51.   // Отправляем почтовое сообщение
    52.   if(empty($picture)) mail($to, $subject, $message);
    53.   else send_mail($to, $subject, $message, $picture);
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    так а может в самом аутлуке принудительно другая кодировка выбрана =) проверить надо бы