19
Апр
2021

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

Форма приходит на яндекс с пустым вложением, хотя на гугл почту все нормально приходит. Форма не моя, взята с сайта.

<?php
if (isset($_POST['name'])) {
    $to = "[email protected]";
    $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);
  }

}
?>

Источник: https://ru.stackoverflow.com/questions/1272049/%D0%9F%D1%80%D0%B8%D0%BA%D1%80%D0%B5%D0%BF%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9-%D1%84%D0%B0%D0%B9%D0%BB-%D0%BF%D1%80%D0%B8%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D0%BF%D1%83%D1%81%D1%82%D1%8B%D0%BC-0-%D0%B1%D0%B0%D0%B9%D1%82-%D0%BD%D0%B0-%D0%BF%D0%BE%D1%87%D1%82%D1%83-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81

Тебе может это понравится...

Добавить комментарий