Отправка почты с вложением


// тема письма
   $subject = $_POST['theme'];   
    // текст сообщения
   $message = $_POST['message'];
   // Адресат
   $to = 'komy@mail.ru';
   

   // название файла

   $filepath = "./attachment/Текстовый документ.txt";
   // месторасположение файла

   // письмо с вложением состоит из нескольких частей, которые разделяются разделителем

   $boundary = "--".md5(uniqid(time()));
   // генерируем разделитель
   $mailheaders = "MIME-Version: 1.0\n";
   $mailheaders .="Content-Type: multipart/mixed; boundary=".$boundary."\n";
   // разделитель указывается в заголовке в параметре boundary

   $mailheaders .= "From: Иванов Иван Иванович \r\n";
   $mailheaders .= "Reply-To: ivanov@mail.ru\r\n";


   $multipart = "--$boundary\n";
   $multipart .= "Content-Type: text/plain; charset=windows-1251\n\n";
   $multipart .= "$message\n\n";

   // первая часть само сообщение

   $fp = fopen($filepath,"r");
    if (!$fp)
    {
    print "Файл не может быть прочитан";
    exit();
    }

   $file = fread($fp, filesize($filepath));
   fclose($fp);

   // чтение файла

   $message_part = "--$boundary\n";
   $message_part .= "Content-Type: application/octet-stream; name = " .$filename."\n";
   $message_part .= "Content-Transfer-Encoding: base64\n";
   $message_part .= "Content-Disposition: attachment; filename = ".$filename."\n\n";
   $message_part .= chunk_split(base64_encode($file))."\n";

   // второй частью прикрепляем файл, можно прикрепить два и более файла
   $multipart .= $message_part;

   mail($to,$subject,$multipart,$mailheaders);

Img