Уважаемые специалисты. Моих знаний в php не хватает, поэтому обращаюсь за помощью.
Один программист написал по моей просьбе скрипт, который позволял со страницы сайта отправлять из формы письмо с приложенным к нему файлом.
Сейчас в приложении файла необходимость отпала, и передо мной стоит задача исправить написанный код, убрав поле для прикрепления файла и запрет на отправку письма, если файл не прикреплен.
Подскажите, как оптимизировать (исправить) код, для того, чтобы со страницы сайта отправлялось только текстовое письмо?
<form action="index.html#sendform" enctype="multipart/form-data" method=post>
<?php
if(isset($_POST['mail_subject']))
{
if (!empty($_POST['mail_subject']) and !preg_match("/^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}$/i", $_POST['mail_subject'])) $error = "Ââåäèòå àäðåñ â âèäå [Только зарегистрированные пользователи могут видеть ссылки. ]";
if(empty($_FILES['mail_file']['name'])) $error = "Âûáåðèòå ôàéë äëÿ îòïðàâêè";
$from = htmlspecialchars(stripslashes($_POST['mail_subject']));
$msg = htmlspecialchars(stripslashes($_POST['mail_msg']));
$mail_to = "àäðåñ@ïî÷òû.ru";
if(!isset($error))
{
if(empty($_POST['mail_subject'])) $from = "nobody@h1.ru";
if(!empty($_FILES['mail_file']['tmp_name']))
{
$path = $_FILES['mail_file']['tmp_name'];
$fp = fopen($path,"r");
$file = fread($fp, filesize($path));
fclose($fp);
$boundary = "--".md5(uniqid(time()));
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
$headers .= "From: $from\r\n";
$multipart = "--$boundary\n";
$multipart .= "Content-Type: text/html; charset=windows-1251\n";
$multipart .= "Content-Transfer-Encoding: quoted-printable\n\n";
$multipart .= "$msg\n\n";
$message_part = "--$boundary\n";
$message_part .= "Content-Type: application/octet-stream name = \"".$_FILES['mail_file']['name']."\"\n";
$message_part .= "Content-Disposition: attachment; filename = \"".$_FILES['mail_file']['name']."\"\n";
$message_part .= "Content-Transfer-Encoding: base64\n\n";
$message_part .= chunk_split(base64_encode($file))."\n";
$multipart .= $message_part."--$boundary--\n";
}
else
{
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/html; charset=windows-1251\n";
$headers .= "From: $from\r\n";
$multipart = $msg;
}
if(!mail($mail_to, "Ïèñüìî ñ ñàéòà", $multipart, $headers)) $error = "Ê ñîæàëåíèþ, ïèñüìî íå îòïðàâëåíî";
else
{
print "<tr><td colspan=2><font color=green>Ïèñüìî óñïåøíî îòïðàâëåíî</font></td></tr>";
$from = $msg = "";
}
}
else print "<tr><td colspan=2><font color=red>$error</font></td></tr>";
}
else
{
$from = $msg = "";
}
?>
<tr><td width=40%>Âàø e-mail:</td><td align=center><input type=text name=mail_subject maxlength=64 value="<?=$from?>"></td></tr>
<tr><td colspan=2>Âàøå ñîîáùåíèå:
<textarea cols=40 rows=8 name=mail_msg><?=$msg?></textarea></td>
<tr><td width=40%>Ïðèëàãàåìûé ôàéë:</td><td align=center><input type=file name=mail_file maxlength=64></td></tr>
</tr><tr><td colspan=2><input type=submit value="Îòïðàâèòü"></td></tr>
</form>