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


Автор: CreatoR 16.2.2007, 15:58
 Проблема при отправки письма с прикреплёным файлом. 
Файл находится на сервере zip-архив, отправняется при помощи приложенной функции. При получении почты, у получателя приложенный файл переименовывается и изменяет разрешение, на Untitled.dat. Как это исправить?
Код

function send_mail($to, $thm, $html, $path)

  {

    $fp = fopen($path,"r");

    if (!$fp)

    {

      print "Файл $path не может быть прочитан";

      exit();

    }

    $file = fread($fp, filesize($path));

    fclose($fp);

    $path = substr($path,6);

  

    $boundary = "--".md5(uniqid(time())); // генерируем разделитель

  

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

    $kod = 'windows-1251';

    $multipart .= "Content-Type: text/html; charset=$kod\n";

    $multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";

    $multipart .= "$html\n\n";

    

    $headers .= "MIME-Version: 1.0\n";

    $headers .= "Content-Type: multipart/mixed; boundary=\"$\"\n";

    $headers .= "MIME-Version: 1.0\n"; 

    $headers .= "From: [email protected]\n";     

    $headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";

   

    $message_part = "";

    $message_part .= "Content-Type: application/x-zip-compressed";

    $message_part .= "; file_name = \"$path\"\n";

    $message_part .= "Content-Transfer-Encoding: base64\n";

    $message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n";

    $message_part .= chunk_split(base64_encode($file))."\n";

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





    if(!mail($to, $thm, $multipart, $headers))

    {

      echo "К сожалению, письмо не отправлено";

      exit();

    }

}

Автор: mishaSL 17.2.2007, 16:00
Попробуй воспользоватся этим:
http://vingrad.ru/PHP-PHPNETMAIL-002368

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