Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Вложение в письмо файла на 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; max-width: 100%; background: #E7F5FE; margin: 10px 0; padding: 10px;"
onsubmit='document.getElementById("sbt").disabled=true;'>
<label style="display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px;"><span>Кому:</span><input name="to" style="width:85%"></label>
<label style="display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px;"><span>От:</span><input name="from" style="width:85%"></label>
<label style="display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px;"><span>Тема:</span><input type=text name="subj" style="width:85%" value="<?=@$subj?>"></label>
<label for="mes">Сообщение:</label>
<textarea name="mes" id="mes" rows="5" style="width: 100%; margin-bottom: 8px;"><?=@$mes?></textarea>
<input name='MAX_FILE_SIZE' type='hidden' value='100'>
<label for="f" style="display: block; margin-bottom: 5px;">Файл для вложения (<1Мб):</label>
<input type='file' name='f' id='f' style="margin-bottom: 8px;">
<input id="sbt" type="SUBMIT" value="Отправить" class="submitL">
</form>
Смотрите также:
- Универсальная рассылка почты на PHP,
- Вставка изображения в письмо на PHP,
- Отправка почты по шаблону на PHP,
- Удалить все сообщения из почтового ящика.
- Настройки SPF и DKIM чтобы письма не попадали в спам.
- email рассылка по шаблону на PHP
.
Прокомментировать/Отблагодарить