0

Я на писал следующий код для отправки формы на эл. почту, но что то отсылается не все. Данные, которые через ajax приходят есть, но в итоге письмо приходит только с файлом прикрепленным. Буду рад любой помощи!

<?php
if (isset ($_POST['email'])) {
  $to = "pavel.ps2014@yandex.ru";
  $from = "hello@thecbd.ru";
  $subject = "Заполнена контактная форма на сайте ".$_SERVER['HTTP_REFERER'];
  $message = "Имя пользователя: ".$_POST['yourName']."\nEmail пользователя ".$_POST['email']."\nТелефон пользователя ".$_POST['tel']."\nВакансия: ".$_POST['select']."\n\nАдрес сайта: ".$_SERVER['HTTP_REFERER'];

$boundary = md5(date('r', time())); $filesize = ''; $headers = "MIME-Version: 1.0\r\n"; $headers .= "From: " . $from . "\r\n"; $headers .= "Reply-To: " . $from . "\r\n"; $headers .= "Content-Type: multipart/mixed; boundary=&quot;$boundary&quot;\r\n"; $message="

Content-Type: multipart/mixed; boundary=&quot;$boundary&quot;

--$boundary Content-Type: text/plain; charset=&quot;utf-8&quot; Content-Transfer-Encoding: 7bit

$message"; if(is_uploaded_file($_FILES['fileFF']['tmp_name'])) { $attachment = chunk_split(base64_encode(file_get_contents($_FILES['fileFF']['tmp_name']))); $filename = $_FILES['fileFF']['name']; $filetype = $_FILES['fileFF']['type']; $filesize = $_FILES['fileFF']['size']; $message.="

--$boundary Content-Type: &quot;$filetype&quot;; name=&quot;$filename&quot; Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=&quot;$filename&quot;

$attachment"; } $message.="

--$boundary--";

if ($filesize < 10000000) { // проверка на общий размер всех файлов. Многие почтовые сервисы не принимают вложения больше 10 МБ mail($to, $subject, $message, $headers); echo $_POST['yourName'].', Ваше сообщение отправлено, спасибо!'; } else { echo 'Извините, письмо не отправлено. Размер всех файлов превышает 10 МБ.'; } } ?>

Volk
  • 550
  • 3
  • 18
Pavel
  • 339

0 Answers0