Увидел схожую проблему, но решения не нашел, помогите...
https://toster.ru/q/222644
<form name="order" id="form-order" class="quest" method="POST" action="" enctype="multipart/form-data">
<input name="name" id="client_name_order" type="text" placeholder="Ваше имя" >
<input name="phone" id="client_phone_order" type="text" placeholder="Ваш телефон" >
<input name="email" id="client_email_order" type="text" placeholder="Ваш e-mail" >
<textarea name="text" id="client_text_order" placeholder="Ваше сообщение"></textarea>
<p>Прикрепить файл:</p>
<input name="file" id="file" type="file" >
<input name="submit" type="submit" onclick="setimage(); return false;" value="ОТПРАВИТЬ">
</form>
function setimage(){
// элемент, с помощью которого пользователь выбирает файл
var file = $('#file');
// если файл выбран, то
if (file.prop('files').length) {
// создаём объект FormData
var formData = new FormData();
// добавляем в объект FormData файл
formData.append('file', file.prop('files')[0]);
// выполняем HTTP (AJAX) запрос
// url - адрес, содержащий php скрипт, который будет обрабатывать запрос
// procedData - параметр, с помощью которого отключим преобразование данных в строку запроса
// contentType - параметр, с помощью которого отключим установления типа контента jQuery
// type - параметр, с помощью которого установим в качестве метода отправки запроса POST
// success - параметр, который
$.ajax({
url: '/mailer/send_letter.php',
data: formData,
processData: false,
contentType: false,
type: 'POST',
success: function(data) {
console.log(data);
}
});
} else {
alert(0);
}
}
<?php
if (count ($_POST) > 0)
{
include "class.phpmailer.php";
$default='не уточняется';
$text = $_POST['message'];
$result = '0';
$mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch
try {
$mail->CharSet = "UTF-8";
$mail->FromName = mb_convert_encoding($header, "UTF-8", "auto");
$mail->SetFrom('info@'.$_SERVER['HTTP_HOST']);
$mail->Subject = "Заказ обратного звонка с сайта ".$_SERVER['HTTP_HOST'];
// $text = $message;
$mail->MsgHTML($text);
$text = str_replace("<br/>", "\n", $text);
$text = strip_tags($text);
$mail->AltBody = $text;
if (isset($_FILES['uploaded_file']) &&
$_FILES['uploaded_file']['error'] == UPLOAD_ERR_OK) {
$mail->AddAttachment($_FILES['uploaded_file']['tmp_name'],
$_FILES['uploaded_file']['name']);
}
$mail->AddAddress('test@mail.ru');
$mail->AddAddress('test@yandex.ru');
// отправляем наше письмо
if($mail->Send())
{
echo "0";
}
}
catch (phpmailerException $e) {
echo "1";
} catch (Exception $e) {
echo "1";
}
}
?>