За последние 24 часа нас посетили 22905 программистов и 1239 роботов. Сейчас ищут 780 программистов ...

Не показывается текст mail php, а вложение идет, что делать?

Тема в разделе "Работа с почтой", создана пользователем neti_solo, 26 июн 2018.

  1. neti_solo

    neti_solo Новичок

    С нами с:
    26 июн 2018
    Сообщения:
    1
    Симпатии:
    0
    Не показывается текст mail php, а вложение идет. Вот мой код, приходит вложенный файл, но не приходит текст(
    PHP:
    1. if ( isset($_POST["upload"]) ) {
    2.         $filename = $_FILES["file"]["name"];
    3.         $filepath = $_FILES["file"]["tmp_name"];
    4.         $subject = "Заявка с вложением";
    5.         $message ="                  
    6.            <p>Телефон: ". $_POST["number"] ."</p>
    7.            <p>Имя: ". $_POST["names"] ."</p>
    8.            <p>Текст: ". $_POST["textMessage"] ."</p>
    9.            \r\n";
    10.         $boundary = "--".md5(uniqid(time()));
    11.         $mailheaders = "MIME-Version: 1.0;\r\n";
    12.         $mailheaders .="Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
    13.         $mailheaders .= "From: autoasia@info.ru <autoasia@info.ru>\r\n";
    14.         $mailheaders .= "Reply-To: autoasia@info.ru\r\n";
    15.         $multipart = "--$boundary\r\n";
    16.         $multipart .= "Content-Type: text/html; charset=windows-1251\r\n";
    17.         $multipart .= "Content-Transfer-Encoding: base64\r\n";
    18.         $multipart .= chunk_split(base64_encode(iconv("utf8", "windows-1251", $message)));
    19.         $multipart .= "\r\n";
    20.         // первая часть само сообщение
    21.        
    22.         // Закачиваем файл
    23.           $fp = fopen($filepath,"r");
    24.             if (!$fp)
    25.             {
    26.               print "Не удается открыть файл :(";
    27.               exit();
    28.             }
    29.         $file = fread($fp, filesize($filepath));
    30.         fclose($fp);
    31.         // чтение файла
    32.         $message_part = "\r\n--$boundary\r\n";
    33.         $message_part .= "Content-Type: application/octet-stream; name=\"$filename\"\r\n";
    34.         $message_part .= "Content-Transfer-Encoding: base64\r\n";
    35.         $message_part .= "Content-Disposition: attachment; filename=\"$filename\"\r\n";
    36.         $message_part .= "\r\n";
    37.         $message_part .= chunk_split(base64_encode($file));
    38.         $message_part .= "\r\n--$boundary--\r\n";
    39.         // второй частью прикрепляем файл, можно прикрепить два и более файла
    40.         $multipart .= $message_part;
    41.         mail($to,$subject,$multipart,$mailheaders);
    42.         // отправляем письмо
    43.         //удаляем файлы через 60 сек.
    44.         if (time_nanosleep(5, 0)) {
    45.             unlink($filepath);
    46.         }
    47.         // удаление файла
    48.       }
    HTML:
    1. <input type="file" name="file" id="file" class="inputfile"/>
    2.           <label for="file" id="label"><p><span class="above">Выберете файл со списком,</span><br /><span class="below">кликнув по данному тексту</span></p></label>  
    3. <input type="text" name="names" placeholder="Ваше имя*" id="name">
    4.         <input type="text" name="number" placeholder="Телефон*" id="number">
    5.         <input type="text" name="textMessage" placeholder="Сообщение" id="message">
    6.         <input type="submit" name="upload" value="Отправить" id="submit">
    С hmtl, ручаюсь, все в порядке, а на php что-то туплю, ну никак не могу найти - в чем причина. Пробовал везде пихать \r\n, тоже не выходит...Помогите пожалуйста!!!