Добрый день. При отправке письма с вложением, оно отлично приходит в microsoft outlook 2XXX (2003, 2007 и т.п.) А вот если посмотреть тоже письмо в почте рамблера, то там вложения не видно: ----57eb3ec73431b7e22271e8386959 8ed5 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: Quot-Printed Письмо с сайта xxxx.RU через форму обратной связи. Обращение ID: 20180128-213942-1517164782.2703 Фамилия: Иванов Имя: Иван Отчество: Иванович Домашний адрес клиента: адрес Почта клиента: ivanov@ram.ru Тема вопроса: тема вопроса Сообщение: сообщение ----57eb3ec73431b7e22271e8386959 8ed5 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename = "888.jpg" MjIyMjIyMjIyMg== ----57eb3ec73431b7e22271e8386959 8ed5-- Вот скрипт: -------------------------------- - <?php $mail_to_g = 'webinfo@xxx.ru'; $mail_from_g = 'webinfo@xxx.ru'; $type = 'html'; $charset = 'UTF-8'; /* $text1 = $_REQUEST['message']; $subject = 'xxx.ru'; $replyto_f =$_REQUEST['replyto']; $replyto_i = $_REQUEST['replyto_i']; $replyto_o = $_REQUEST['replyto_o']; $replyto_adr = $_REQUEST['replyto_adr']; $mail_client = $_REQUEST['mail_client']; $replyto_tema = $_REQUEST['replyto_tema']; */ $text1 = htmlspecialchars(stripslashes($_REQUEST['message'])); $replyto_f = htmlspecialchars(stripslashes($_REQUEST['replyto'])); $replyto_i = htmlspecialchars(stripslashes($_REQUEST['replyto_i'])); $replyto_o = htmlspecialchars(stripslashes($_REQUEST['replyto_o'])); $replyto_adr = htmlspecialchars(stripslashes($_REQUEST['replyto_adr'])); $mail_client = htmlspecialchars(stripslashes($_REQUEST['mail_client'])); $replyto_tema = htmlspecialchars(stripslashes($_REQUEST['replyto_tema'])); $captcha = $_REQUEST['captcha']; $captcha_validation = $_REQUEST['captcha_validation']; if ($captcha != $captcha_validation) { header('Location: http://xxx.ru/?p=mail_check'); exit(); } //Фамилия if (!preg_match('/^([а-яА-ЯЁё \-]+)$/u',$replyto_f)) { header('Location: http://xxx.ru/?p=mail_check'); exit(); } //Имя if (!preg_match('/^([а-яА-ЯЁё \-]+)$/u',$replyto_i)) { header('Location: http://xxx.ru/?p=mail_check'); exit(); } //почта клиента if (!preg_match("/^(?:[a-z0-9]+(?:[-_.]?[a-z0-9]+)?@[a-z0-9_.-]+(?:\.?[a-z0-9]+)?\.[a-z]{2,5})$/i", $mail_client)) { header('Location: http://xxx.ru/?p=mail_check'); exit(); } //тема - сообщение и галочка с персональными данными if ( empty($replyto_tema) or empty($text1) or !isset($_REQUEST['PERSONAL']) ) { header('Location: http://xxx.ru/?p=mail_check'); exit(); } $ids=date("Ymd-His-").microtime(true); $msg = "Письмо с сайта xxx.RU через форму обратной связи.<br><br>"; $msg = $msg."<b>Обращение ID:</b> $ids<br>"; $msg = $msg."<b>Фамилия:</b> $replyto_f<br>"; $msg = $msg."<b>Имя:</b> $replyto_i<br>"; $msg = $msg."<b>Отчество:</b> $replyto_o<br>"; $msg = $msg."<b>Домашний адрес клиента:</b> $replyto_adr<br>"; $msg = $msg."<b>Почта клиента:</b> $mail_client<br>"; $msg = $msg."<b>Тема вопроса:</b> $replyto_tema<br>"; $msg = $msg."<b>Сообщение:</b> $text1<br>"; //echo $msg; $text1 = '=?utf-8?B?'.base64_encode($text1).'?='; $replyto_f = '=?utf-8?B?'.base64_encode($replyto_f).'?='; $replyto_i = '=?utf-8?B?'.base64_encode($replyto_i).'?='; $replyto_o = '=?utf-8?B?'.base64_encode($replyto_o).'?='; $replyto_adr = '=?utf-8?B?'.base64_encode($replyto_adr).'?='; $mail_client = '=?utf-8?B?'.base64_encode($mail_client).'?='; $replyto_tema = '=?utf-8?B?'.base64_encode($replyto_tema).'?='; $picture = ""; // Если поле выбора вложения не пустое - закачиваем его на сервер if (!empty($_FILES['filess']['tmp_name'])) { // Закачиваем файл $path = $_FILES['filess']['name']; if (copy($_FILES['filess']['tmp_name'], $path)) $picture = $path; } $thm=$replyto_tema; $headers = "From: $mail_from_g\r\nReply-to: $mail_to_g\r\nContent-type: text/html; charset=utf-8\r\n"; if(empty($picture)) { if (!mail($mail_to_g, $thm, $msg, $headers)) { header('Location: http://xxxx.ru/?p=mail_error'); exit(); } else { header('Location: http://xxx.ru/?p=mail_ok'); exit(); } } else //письмо свложением...................... ................................ ..... { $fp = fopen($picture,"r"); if (!$fp) { //Файл не может быть прочитан" header('Location: http://xxx.ru/?p=mail_error'); exit(); } $file = fread($fp, filesize($picture)); fclose($fp); $boundary = "--".md5(uniqid(time())); // генерируем разделитель $headers = "From: $mail_from_g\r\nReply-to: $mail_to_g\r\nContent-type: text/html; charset=utf-8\r\n"; $headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n"; $multipart .= "--$boundary\n"; $kod = 'utf-8'; // или $kod = 'windows-1251'; $multipart .= "Content-Type: text/html; charset=$kod\n"; $multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n"; $multipart .= "$msg\n\n"; $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 = \"".$path."\"\n\n"; $message_part .= chunk_split(base64_encode($file))."\n"; $multipart .= $message_part."--$boundary--\n"; if(!mail($mail_to_g, $thm, $multipart, $headers)) { header('Location: http://xxx.ru/?p=mail_error'); exit(); } else { header('Location: http://xxx.ru/?p=mail_ok'); exit(); } }//письмо с вложением ?>
1. Оформляй код через кнопку </>. 2. Что это за порнография? 3. Для отправки писем с вложениями лучше использовать готовые разработки, например https://github.com/PHPMailer/PHPMailer