Этот вопрос закрыт для ответов, так как повторяет вопрос Как правильно прикрепить вложенный файл?
@Dominik55

Прикрепленный файл приходит пустым (0 байт) на почту яндекс. В чем может быть ошибка?

Форма приходит на яндекс с пустым вложением, хотя на гугл почту все нормально приходит. Форма не моя, взята с сайта. Не знаю в чем проблема. Пожалуйста, подскажите.
<?php
if (isset($_POST['name'])) {
    $to = "email@yandex.ru";
    $subject = "Заполнена контактная форма на сайте " . $_SERVER['HTTP_REFERER'];
    $message = "\n\nИмя: " . $_POST['name'] . "\n\nТелефон: " . $_POST['tel'] . "\n\nEmail: " . $_POST['email'] . "\n\nКомментарий: " . $_POST['message'] . "\n\nПродукция: " . $_POST['product'] . "\n\nАдрес сайта: " . $_SERVER['HTTP_REFERER'];

    $boundary = md5(date('r', time()));
    $filesize = '';
    $headers = "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n\r\n";
    $message = "
Content-Type: multipart/mixed; boundary=\"$boundary\"
 
--$boundary
Content-Type: text/plain; charset=\"utf-8\"
Content-Transfer-Encoding: 7bit
 
$message";
    if (is_uploaded_file($_FILES['file']['tmp_name'])) {
        $attachment = chunk_split(base64_encode(file_get_contents($_FILES['file']['tmp_name'])));
        $filename = $_FILES['file']['name'];
        $filetype = $_FILES['file']['type'];
        $filesize = $_FILES['file']['size'];
        $message .= "
 
--$boundary
Content-Type: \"$filetype\"; name=\"$filename\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=\"$filename\"
 
$attachment";
    }
    $message .= "
--$boundary--";

if ($filesize < 10000000) { 
    mail($to, $subject, $message, $headers);
  }

}
?>
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы