Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Наш чат в Telegram для обмена идеями, проектами, мыслями, людьми в сфере ИТ г.Ростова-на-Дону: @it_rostov
Вложение в письмо файла на PHP
Этот пример позволяет отправить почту с прикреплением файла.
Во избежании злоупотреблений и рассылки спама сообщения из этого примера не отправляются!
if(isset($_POST['mes'])){
$mes= $_POST['mes']; if (empty($mes))die("Пустое сообщение!");
$subj=$_POST['subj'];if (empty($subj))die("Пустое сообщение!");
$to=intval($_POST['to']); if (empty($to))die("Не выбраны получатели!");
$from=$_POST['from'];
$body0="<html><body>\n".str_replace("\n","<br>\n",str_replace("\r","",$mes))."\n</body></html>"; // сообщение всем
$filename='';
if(isset($_FILES['f'])){
$mURL =$_FILES['f']['tmp_name'];
$mURL_type =$_FILES['f']['type'];
$filename =$_FILES['f']['name'];
if(isset($mURL_type) && ($mURL_type!=''))
{$nname=session_save_path().'/'.$filename;
@unlink($nname);
if( move_uploaded_file($mURL, $nname) )print "Файл <b>".$filename."</b> успешно загружен на сервер!<br>";
else die("Не смог сохранить ".$mURL." в ".$nname);}else $filename='';
}
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='document.getElementById("sbt").disabled=true;'>
Кому: <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='MAX_FILE_SIZE' type='hidden' value='1000000'>
Файл для вложения(<1Мб): <input type='file' name='f' size=45>
<INPUT id="sbt" TYPE="SUBMIT" VALUE="Отправить" class="submitL" /><br>
</form>