Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Письмо с несколькими файлами - ошибка


Автор: Raily 15.4.2011, 10:22
Всем привет! У меня такой вопрос - есть скрипт, отвечающий за отправку мэйла с несколькими вложениеми, на localhost всё работает хорошо, а когда выгружаю на какой-нить сервер, то в письме приходит только первое вложение, а остальные приходят в виде длиннющей строки заголовка. В чём ошибка?

Вот кусок кода с генерацией заголовков для письма:

Код

 $boundary = "--".md5(uniqid(time())); // генерируем разделитель   
   $headers = "MIME-Version: 1.0\n";   
   $headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
   $multipart = "--$boundary\n";   
   $kod = 'koi8-r';   
   $thm = $theme;
   $multipart .= "Content-Type: text/html; charset=\"utf-8\" \r\n";   
   $multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";   
   $multipart .= "$messtxt\n\n";   
  
    for($i=0;$i<$cc;$i++){
        $message_part = "--$boundary\n";   
        $message_part .= "Content-Type: application/octet-stream\n";   
        $message_part .= "Content-Transfer-Encoding: base64\n";   
        $message_part .= "Content-Disposition: attachment; filename = \"".$mas_files[$i]."\"\n\n";   
        $message_part .= chunk_split(base64_encode($file[$i]))."\n";   
        if($i<($cc-1)){
            $multipart .= $message_part."--$boundary\n";   
        }
        else{
            $multipart .= $message_part."--$boundary--\n";  
        }
   }



Автор: patap 15.4.2011, 10:58
я не уверен, но попробуй добавить еще один перевод в этой строке
Код

 $message_part .= chunk_split(base64_encode($file[$i]))."\n"; // замени "\n" на  "\n\n"

Автор: Raily 15.4.2011, 11:01
Цитата(patap @ 15.4.2011,  10:58)
я не уверен, но попробуй добавить еще один перевод в этой строке
Код

 $message_part .= chunk_split(base64_encode($file[$i]))."\n"; // замени "\n" на  "\n\n"

не помогает((
пробовала так же тип проставить к каждому файлы в зависимости от типа файла, тоже не помогает((

Добавлено через 2 минуты и 38 секунд
Цитата(patap @ 15.4.2011,  10:58)
я не уверен, но попробуй добавить еще один перевод в этой строке
Код

 $message_part .= chunk_split(base64_encode($file[$i]))."\n"; // замени "\n" на  "\n\n"

Спасибо за идею!
получилось - поставила \n\n ещё сюда: 
Код

 $multipart .= $message_part."--$boundary\n";   


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)