<form id="form">
<input type="text" name="name" placeholder="Ваше имя" required /><br />
<input type="text" name="tel" placeholder="Ваш телефон" required /><br />
<input type="file" name="file">
<button>Отправить</button>
</form>
$(document).ready(function() {
$("#form").submit(function() {
$.ajax({
type: "POST",
url: "mail.php",
data: $(this).serialize()
}).done(function() {
$(this).find("input").val("");
alert("Спасибо за заявку! Скоро мы с вами свяжемся.");
$("#form").trigger("reset");
});
return false;
});
});
<?php
$recepient = "myemail@mail.com";
$sitename = "Название сайта";
$name = trim($_POST["name"]);
$phone = trim($_POST["tel"]);
$message = "Имя: $name \nТелефон: $phone";
$pagetitle = "Новая заявка с сайта \"$sitename\"";
mail($recepient, $pagetitle, $message, "Content-type: text/plain; charset=\"utf-8\"\n From: $recepient");
enctype="multipart/form-data"
<form method="post" action="attach.php" enctype="multipart/form-data">
<input type="text" name="email"/><br>
<input type="file" name="attachment"/><br>
<input type="submit" name="send">
</form>
$content = chunk_split(base64_encode(file_get_contents($file)));
$headers .= "Content-Type: multipart/mixed; boundary=\"".$uid."\";\r\n\r\n";
$headers .= "Content-Transfer-Encoding: base64\r\n";
$headers .= "Content-Disposition: attachment; filename=\"".$file_name."\"\r\n\r\n";
$headers .= "Content-type:text/plain; charset=iso-8859-1\r\n";
$headers .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
<?php
if (isset($_POST['send'])) {
if (!empty($_FILES['attachment']['name'])) {
// некоторые переменные
$file_name = $_FILES['attachment']['name'];
$temp_name = $_FILES['attachment']['tmp_name'];
$file_type = $_FILES['attachment']['type'];
// получить расширение файла
$base = basename($file_name);
$extension = substr($base, strlen($base)-4,strlen($base));
// только это типы файлов будет разрешено
$allowed_extensions = array(".doc","docx",".pdf",".zip",".png");
// убедитесь, что этот тип файла допускается
if (in_array($extension, $allowed_extensions)) {
// основы
$from = $_POST['email'];
$to = "some@mail.ru";
$subject = "Subject";
$message = "message";
} else {
//вещи, которые нужно
$file = $temp_name;
$content = chunk_split(base64_encode(file_get_contents($file)));
$uid = md5(uniqid(time()));
//
$headers = "From: ". $from."\r\n";
$headers = "MIME-Version: 1.0" . "\r\n";
// Заявив, у нас есть несколько видов электронной почте (т.е. обычный текст и вложения)
$headers .= "Content-type: multipart/mixed;boundary=\"".$uid."\"\r\n\r\n";
$headers .= "This is a multi-part message in MIME format.\r\n":
// Обычная текстовая часть
$headers .= "--".$uid."\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$headers .= $message."\r\n\r\n";
// Влажение файла
$headers .= "--".$uid."\r\n";
$headers .= "Content-Type:". $file_type.":name=\"".$file_name."\"\r\n";
$headers .= "Content-Transfer-Encoding: base64\r\n";
$headers .= "Content-Description: attachment;filename=\"".$file_name."\r\n";
$headers .= $content."\r\n\r\n";
// Oтправить по почте (сообщение не здесь, а в заголовке в нескольких части
if (mail($to, $subject, "",$headers)) {
echo "Спасибо за заявку! Скоро мы с вами свяжемся";
} else {
echo "Неполучилось";
}
} else {
echo "тип файла не имеет";
}
} else {
echo "файл не прикреплен";
}
}
?>