Mail + attachment

Статус
В этой теме нельзя размещать новые ответы.

Саня

Guest
Mail + attachment

Привет!
Для посылки из формы письма с приаттаченным файлом использую конструкцию:
PHP:
$boundary = 'boundary="NextPart"';
if (is_uploaded_file($infofile)) {
$len = filesize($infofile);
	$data = addslashes(fread(fopen($infofile, "rb"), $len));
	$filename = $HTTP_POST_FILES["infofile"]["name"];
	$type = $HTTP_POST_FILES["infofile"]["type"];
	}
$body = "--NextPart\n"."Content-Type: text/html; Content-Transfer-Encoding: quoted-printable; charset=iso-8859-1\n\n";
$body .= $htmltxt;
$body .= "--NextPart\n"."Content-Type: $type; name=$filename; Content-length: $len; Content-Transfer-Encoding: base64; charset=windows-1257 \n\n";
$body .= $data;
$header = "MIME-Version: 1.0\nContent-Type: multipart/alternative; $boundary\n";
$header .= "From: $Name <$Email>\n\n";
mail( $to, $subject, $body, $header) or die('Impossible to send e-mail');
Нормально приходят только тхт-файлы с латиницей, остальные не открываются, ошибки типа wrong format or filename.
Мог бы кто-нибудь проверить, подсказать?
 

tony2001

TeaM PHPClub
для этого их надо енкодить тем способом, который ты указываешь в заголовках.
в данном случае - base64.
ищи по ману "base64" и обрящешь.
 

Саня

Guest
Поменял
$body .= $data;
на
$body .= base64_encode($data);
однако сильно легче не стало - приходит полный файл абракадабры.
Может где-то и декодировать нужно?
 

si

Administrator
в поиск по форуму 100раз были готовые рецепты как это делать
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху