PHP

Вложение в письмо файла на PHP

Этот пример позволяет отправить почту с прикреплением файла.
<?php
if(isset($_POST[&apos;mes&apos;])){
   $mes= $_POST[&apos;mes&apos;];    if (empty($mes))die("Пустое сообщение!");
   $subj=$_POST[&apos;subj&apos;];if (empty($subj))die("Пустое сообщение!");
   $to=intval($_POST[&apos;to&apos;]); if (empty($to))die("Не выбраны получатели!");

   $from=$_POST[&apos;from&apos;];
   $body0="<html><body>\n".str_replace("\n","<br>\n",str_replace("\r","",$mes))."\n</body></html>";    // сообщение всем
   $filename=&apos;&apos;;
   if(isset($_FILES[&apos;f&apos;])){
    $mURL        =$_FILES[&apos;f&apos;][&apos;tmp_name&apos;];
    $mURL_type    =$_FILES[&apos;f&apos;][&apos;type&apos;];
    $filename    =$_FILES[&apos;f&apos;][&apos;name&apos;];
    if(isset($mURL_type) && ($mURL_type!=&apos;&apos;))
       {$nname=session_save_path().&apos;/&apos;.$filename;
        @unlink($nname);
        if( move_uploaded_file($mURL, $nname) )print "Файл <b>".$filename."</b> успешно загружен на сервер!<br>";
        else die("Не смог сохранить ".$mURL." в ".$nname);}else $filename=&apos;&apos;;
    }
if($filename){
$bound="htmlweb.ru-".rand(1000,99999);
$headers="From: <$from>\n";
$headers.="Mime-Version: 1.0\n";
$headers.="Content-Type: multipart/mixed; boundary=\"$bound\"\n";
$body="--$bound\n";
$body.="Content-type: text/html; charset=\"windows-1251\"\n";
$body.="Content-Transfer-Encoding: 8bit\n\n";
$body.=$body0;
$body.="\n\n--$bound\n";
$body.="Content-Type: application/octet-stream; name=\"".$filename."\"\n";
$body.="Content-Transfer-Encoding:base64\n";
$body.="Content-Disposition: attachment; filename=\"".$filename."\"\n\n";
$body.=chunk_split(base64_encode(file_get_contents($nname)))."\n";
$body.="--$bound--\n\n";
    echo "Размер письма <b>".intval(strlen($body)/1024)."</b>Kb<br>\n";
}else {$headers="From: <".$from.">\nContent-Type: text/html; charset=windows-1251"; $body=$body0;}

if(mail($to, $subj, $body, $headers))echo "Отправлено на <b>".$to."</b><br>\n";
else echo "НЕ отправлено на <b>".$to."</b><br>\n";

if(isset($nname))@unlink($nname);
}
?>
<form method="post" enctype="multipart/form-data"
    style="width: 350px; background: #8888FF;margin:9px;padding:4px;"
    onsubmit=&apos;document.getElementById("sbt").disabled=true;&apos;>
Кому: <input name="to" style="width:85%" /><br>
От: <input name="from"  style="width:85%" /><br>
Тема: <input type=text name="subj" style="width:90%" value="<?=@$subj?>" /><br>

Сообщение:
<textarea name="mes" rows="5" style="width:90%"><?=@$mes?></textarea><br>
<input name=&apos;MAX_FILE_SIZE&apos; type=&apos;hidden&apos; value=&apos;1000000&apos;>
Файл для вложения(<1Мб): <input type=&apos;file&apos; name=&apos;f&apos; size=45>

<INPUT id="sbt" TYPE="SUBMIT" VALUE="Отправить" class="submitL" /><br>
</form>
?>
Добавлено: 31 Декабря 2014 14:57:11 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...