Отправляю через php mail() письмо с вложенным файлом

J
На сайте с 08.06.2006
Offline
844
632

Отправляю через php mail() письмо с вложенным файлом, а файл приходит пустой.

Хотя на сервере он лежит не пустой.

$file_name = "anketu.csv";

$subj="Анкеты";
$bound="web-1234";
$headers="From: \"Admin\" <admin@mail.ru>\n";
$headers.="To: inline@mail.ru\n";
$headers.="Subject: ".$subj."\n";
$headers.="Mime-Version: 1.0\n";
$headers.="Content-Type: multipart/alternative; boundary=\"".$bound."\"\n";
$body="--".$bound."\n";
$body.="Content-type: text/html; charset=\"UTF-8\"\n";
$body.="Content-Transfer-Encoding: 8bit\n\n";
$body.="";
$body.="\n\n--".$bound."\n";
$body.="Content-Type: multipart/alternative; name=\"".basename($file_name)."\"\n";
$body.="Content-Transfer-Encoding:base64\n";
$body.="Content-Disposition:attachment\n";
//$f=fopen($file_name,"rb");
$body.=base64_encode($file_name)."\n";
$body.="--".$bound."--\n\n";
mail("inline@mail.ru", $subj, $body, $headers);
dma84
На сайте с 21.04.2009
Offline
168
#1

chunk_split(base64_encode(file_get_contents($path_to_file.$file_name)))

webiumpro
На сайте с 20.03.2017
Offline
39
#2

Не советую пользоваться этой функцией. Ко мне частенько обращаются клиенты с похожими проблемами. Есть прекрасная очень удобная библиотека swiftmailer. Сам ею всегда пользуюсь. Код раза в 2 короче получите и без головной боли с вложениями. А в качестве протокола отправки можно использовать smtp mail.ru или яндекс почты

Копирование лендингов. Разработка на фреймворке сервисов. Создание сайтов (/ru/forum/994418)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий