В ходе решения задачи возникла проблема: если нет вложения, то приходит письмо; есть вложение - приходит только вложение.
Прилагаю часть кода, отвечающую за почту:
Спойлер (Отобразить)
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- //адрес получателя
- $to='repliesonsitemail@gmail.com';
- //тема письма
- $subject='Online-обращение: '.$fio_subject;
- //текст письма
- $message="<html>
- <head>
- <meta http-equiv='X-UA-Compatible' content='text/html' charset='utf-8' />
- <title>Online-обращение от '.$fio_subject.'</title>
- </head>
- <body>
- <h1 style='align: center'>Обращение</h1>
- <table width=100% border=1 style=\"font-size:20\">
- <tr>
- <td>Дата обращения</td>
- <td>".$today."</td>
- </tr>
- <tr>
- <td>Представитель</td>
- <td>".$fpred."</td>
- </tr>
- <tr>
- <td>Субъект обращения</td>
- <td>".$fio_subject."</td>
- </tr>
- <tr>
- <td>Дата рождения</td>
- <td>".$bdate."</td>
- </tr>
- <tr>
- <td>СНИЛС</td>
- <td>".$snils."</td>
- </tr>
- <tr>
- <td>Адрес места проживания</td>
- <td>".$address."</td>
- </tr>
- <tr>
- <td>Номер филиала бюро МСЭ</td>
- <td>".$msetype."</td>
- </tr>
- <tr>
- <td>Дата освидетельствования</td>
- <td>".$odate."</td>
- </tr>
- <tr>
- <td>Текст обращения</td>
- <td>".$msg_text."</td>
- </tr>
- <tr>
- <td>Прикрепленный файл</td>
- <td>".$filepath."</td>
- </tr>
- </table>
- </body>
- </html>";
- echo "Кому: ".$to."<br>";
- echo "Тема: ".$subject."<br>";
- echo "Сообщение: <br>".$message."<br>";
- //разделитель
- echo "Создаем заголовки:<br>";
- //заголовки
- $mailheaders = 'MIME-Version: 1.0;'."\r\n";
- $mailheaders .="Content-Type: multipart/mixed; boundary=\"$boundary\""."\r\n";
- $mailheaders .= 'From: site@msepskov'."\r\n";
- echo $mailheaders."<br>";
- echo "Присоединяем сообщение:<br>";
- echo $multipart."<br>";
- $multipart = $boundary."\r\n";
- $multipart = 'MIME-Version: 1.0;'."\r\n";
- $multipart .= "Content-Type: text/html; charset=UTF-8"."\r\n";
- $multipart .= "Content-Transfer-Encoding: base64\r\n";
- $multipart .= "\r\n";
- //$multipart .= iconv("utf8", "windows-1251", $message);
- echo $multipart."<br>";
- echo "Проверяем файл... ";
- if($filepath!="нет")
- {
- echo "Найден!<br>";
- // Закачиваем файл
- //$fpath="/var/www/site".$filepath;
- if (!$fh)
- {
- print "Не удается открыть файл по адресу: ".$filepath."!";
- }
- echo "Получаю!";
- echo "<br>Прикрепляю!<br>";
- // чтение файла
- $message_part = "--".$boundary."\r\n";
- $message_part .= "Content-Type: application/octet-stream; name=\"$servername\"\r\n";
- $message_part .= "Content-Transfer-Encoding: base64\r\n";
- $message_part .= "Content-Disposition: attachment; filename=\"$servername\"\r\n";
- $message_part .= "\r\n";
- $message_part .= "\r\n--$boundary--\r\n";
- // второй частью прикрепляем файл, можно прикрепить два и более файла
- $multipart .= $message_part;
- }
- else echo "Не найден!<br>";
- echo "Отправляем почту...<br>";
- if($success) echo "Письмо успешно отправлено!";
- else echo "Ошибка отправки!";
- }