if(empty($_POST['mail_to'])) exit("Введите адрес получателя");
// проверяем правильности заполнения с помощью регулярного выражения
if (!preg_match("/^[0-9a-z_]+@[0-9a-z_^.]+.[a-z]{2,3}$/i", $_POST['mail_to']))
exit("Введите адрес в виде somebody@server.com");
$_POST['mail_to'] = htmlspecialchars(stripslashes($_POST['mail_to']));
$_POST['mail_subject'] = htmlspecialchars(stripslashes($_POST['mail_subject']));
$_POST['mail_msg'] = htmlspecialchars(stripslashes($_POST['mail_msg']));
$picture = "";
$tmp_name=korfin.pdf;
// Каталог, в который мы будем принимать файл:
$uploaddir ="/";
$mail_file = $uploaddir.basename($_FILES['mail_file']['name']);
// Если поле выбора вложения не пустое - закачиваем его на сервер
if (!empty($_FILES['mail_file']['tmp_name']))
{
// Закачиваем файл
if (copy($_FILES['mail_file']['tmp_name'], $mail_file)){ $picture = $mail_file; }
}
$thm = $_POST['mail_subject'];
$msg = $_POST['mail_msg'];
$mail_to = $_POST['mail_to'];
// Отправляем почтовое сообщение
if(empty($picture)) mail($mail_to, $thm, $msg);
else send_mail($mail_to, $thm, $msg, $picture);
// Вспомогательная функция для отправки почтового сообщения с вложением
function send_mail($to, $thm, $html, $mail_file)
{
$fp = fopen($mail_file,"r");
if (!$fp)
{
print "Файл $path не может быть прочитан";
exit();
}
$file = fread($fp, filesize($mail_file));
fclose($fp);
$boundary = "--".md5(uniqid(time())); // генерируем разделитель
$headers .= "MIME-Version: 1.0n";
$headers .="Content-Type: multipart/mixed ; boundary="$boundary"n";
$multipart .= "--$boundaryn";
$kod ='windows-1251'; // 'koi8-r'; // или $kod =
$multipart .= "Content-Type: text/html; charset=$kodn";
$multipart .= "Content-Transfer-Encoding: Quot-Printednn";
$multipart .= "$htmlnn";
$message_part = "--$boundaryn";
$message_part .= "Content-Type: application/pdfn"; $message_part .= "Content-Transfer-Encoding: base64n";
$message_part .= "Content-Disposition: attachment; filename = "".$mail_file.""nn";
$message_part .= chunk_split(base64_encode($file))."n";
$multipart .= $message_part."--$boundary--n";
if(!mail($to, $thm, $multipart, $headers))
{
echo "К сожалению, письмо не отправлено";
exit();
}
}
application/pdfn"; -формат pdf .
Как сохранить имя файла?
Еще вопрос : как отправлять ссылки по почте???
|