Привет. Делаю отправку формы на почту с вложением. Не могу понять какие заголовки надо передевать , чтобы приходил и текст и вложение. Сейчас если прикрепляю файл, он приходит, но не приходит текст, если не прикрепляю файл , текст приходит. Я так понимаю , что вопрос в этом заголовке , с вложение он будет такой Content-Type: multipart/mixed ( и текст не отображается ) , с текстом он такой Content-Type: text/plain. Возможно я что-то еще делаю не так
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$text = $_POST['text'];
$name = htmlspecialchars(stripslashes($name));
$email = htmlspecialchars(stripslashes($email));
$text = htmlspecialchars(stripslashes($text));
$to = "test-to@mail.ru";
$from = "test-from@mail.ru";
$subject = "Заполнена контактная форма на сайте ".$_SERVER['HTTP_REFERER'];
$message = "Имя пользователя: ".$name."\nEmail ".$email."\nТелефон пользователя ".$text;
$filesize = '';
$headers = "Content-Type: text/plain; charset=utf-8\r\n"."From: Lux <support@lux.ru>\r\n"."Return-Path:<support@lux.ru>\r\n";
if(is_uploaded_file($_FILES['file_v']['tmp_name'])) {
$bound="lux-".rand(1000,99999);
$attachment = chunk_split(base64_encode(file_get_contents($_FILES['file_v']['tmp_name'])));
$filename = $_FILES['file_v']['name'];
$filetype = $_FILES['file_v']['type'];
$filesize = $_FILES['file_v']['size'];
$headers = "Mime-Version: 1.0\n";
$headers.="Content-Type: multipart/mixed; boundary=\"$bound\"\n"."From: Lux <support@lux.ru>\r\n"."Return-Path:<support@lux.ru>\r\n";
$multipart = "--$bound";
$multipart .= "Content-Type: text/plain; charset=utf-8\r\n";
$multipart .= $message."\n";
$message_part.="\n\n--$bound\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.=$attachment."\n";
$multipart .= $message_part;
}
if ($filesize < 10000000) {
mail($to, $subject, $multipart, $headers);
echo $_POST['name'].', Ваше сообщение отправлено, спасибо!';
} else {
echo 'Извините, письмо не отправлено. Размер всех файлов превышает 10 МБ.';
}