windin
Новичок
Есть следующий код отправляющий на мыло картинки аттачем:
Все бы хорошо, только вот есть переменная $mes которая должна отображаться как текст письма. Подскажите куда какой код нужно вставить, что бы отправлялись не только картинки но и сам текст сообщения?
PHP:
$filestring="$out"; /* поместить в строку перечень присоединяемых файлов */
$filearr=$_SESSION['fn']; /* разбить перечень файлов на элементы массива, ориентируясь по запятой */
$boundary="------"; /* задать разделитель файлов */
$header="From: [email protected]\nReply-To: [email protected]\n";
$header.="Content-Type: multipart/mixed; boundary=\"$boundary\"";
$body=""; /* объявить глобальную переменную body */
function attach($name) { /* функция обработает каждый файл */
GLOBAL $boundary,$body; /* определить что, эти переменные берутся из глобальных (ранее определенных), а не создаются локально (фишка PHP) */
$file=fopen($name,"r"); /* открыть файл */
$text=fread($file, filesize($name)); /* считать весь в переменную */
fclose($file); /* закрыть */
$body.="--$boundary\n"; /* добавление двух дефисов ОБЯЗАТЕЛЬНО! */
$body.="Content-Type: application/octet-stream; name==?windows-1251?B?". base64_encode($name). "?=\n";
$body.="Content-Transfer-Encoding: base64\n";
$body.="Content-Disposition: attachment; filename==?windows-1251?B?". base64_encode($name). "?=\n\n";
$body.=chunk_split(base64_encode($text))."\n"; /* закодировать полученное из файла и добавить в тело письма */
$body.=iconv("UTF-8", "KOI8-U", "выполненно");
}
for ($i=0; $i < sizeof($filearr); $i++) /* для переменной i, равной нолю, каждый раз увеличивая на единицу, пока ее значение не сравняется с числом элементов массива */
{
attach($filearr[$i]); /* для каждого элемента массива (каждого файла) вызвать функцию обработки */
}
$body.="--".$boundary ."--\n"; /* добавление двух дефисов ДО и ПОСЛЕ для закрывающего разделителя ОБЯЗАТЕЛЬНО! */
mail("[email protected]","test",$body,$header);