<html>
<head>
<title>Отправить свой ответ</title>
</head>
<body>
<style type="text/css">
/*<![CDATA[*/
* { margin: 0px; padding: 0px; }
body, td { font-family: Times New Roman; font-size: 17px; color: #333333; background-color: transparent; text-shadow: 1px 1px 2px #999999; }
a { text-decoration: none; color: #000099; }
a:hover { color: #FF0000; text-shadow: -1px -1px 2px #AAAAAA; }
.al { text-align: left; padding-left: 10px; }
.ac { text-align: center; }
.tb { font-weight: bold; }
.title { font-family: Times New Roman; font-size: 28px; font-weight: bold; font-style: italic; color: #FF0000; border-bottom: solid 1px #888888; }
.desc { font-size: 12px; color: #888888; }
.info { font-size: 12px; color: #888888; padding-top: 0px; padding-bottom: 10px; padding-left: 10px; vertical-align: top; }
.b-vr { border-right: solid 1px #888888; }
.b-hb { border-bottom: dotted 1px #AAAAAA; }
/*]]>*/
</style>
<?PHP
function show_form()
{
?>
<form action="" method=post enctype="multipart/form-data">
<div align="center">
<br />Имя* <input type="text" name="name" size="40">
<br />Контактный email* <input type="text" name="email" size="40">
<br />Teма <input type="text" name="title" size="40">
<br />Сообщение* <textarea rows="10" name="mess" cols="30"></textarea>
<br />Файл <input name="attachfile" type="file" size="28">
<br />Изображение <input name="attachimage" type="file" size="28">
<br /><br /><input type="submit" value="Отправить" name="submit">
</div>
</form>
* Помечены поля, которые необходимо заполнить
<br>
Вы так же можете использовать HTML теги
<?
}
function complete_mail() {
// $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменных $_POST['mess'], $_POST['name'], $_POST['tel'], $_POST['email'] все аналогично
// если не заполнено поле "Имя" - показываем ошибку 0
if (empty($_POST['name'])) output_err(0);
// если неправильно заполнено поле email - показываем ошибку 1
if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $_POST['email'])) output_err(1);
// если не заполнено поле "Сообщение" - показываем ошибку 2
if(empty($_POST['mess'])) output_err(2);
// обратите внимание, теперь мы можем писать красивые письма, с помощью html тегов ;-)
$mess = '
<b>Имя отправителя:</b>'.$_POST['name'].'
<b>Контактный email:</b>'.$_POST['email'].''.$_POST['mess'];
// подключаем файл класса для отправки почты
require 'class.phpmailer.php';
$mail = new PHPMailer();
$mail->From = 'test@test.ru'; // от кого
$mail->FromName = 'www.php-mail.ru'; // от кого
$mail->AddAddress('social-people@yandex.ru', 'people'); // кому - адрес, Имя
$mail->IsHTML(true); // выставляем формат письма HTML
$mail->Subject = $_POST['title']; // тема письма
// если был файл, то прикрепляем его к письму
if(isset($_FILES['attachfile'])) { if($_FILES['attachfile']['error'] == 0){
$mail->AddAttachment($_FILES['attachfile']['tmp_name'], $_FILES['attachfile']['name']);
}
}
// если было изображение, то прикрепляем его в виде картинки к телу письма.
if(isset($_FILES['attachimage'])) { if($_FILES['attachimage']['error'] == 0){
if (!$mail->AddEmbeddedImage($_FILES['attachimage']['tmp_name'], 'my-attach', 'image.gif', 'base64', $_FILES['attachimage']['type']))
$mess .= 'А вот и наша картинка:<br /><img src="cid:my-attach" border=0><br />я показал как ее прикреплять, соответственно Вам осталось вставить ее в нужное место Вашего письма ;-) ';
}
}
$mail->Body = $mess;
// отправляем наше письмо
if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo); echo 'Спасибо! Ваше письмо отправлено.';
}
function output_err($num)
{
$err[0] = 'ОШИБКА! Не введено имя.';
$err[1] = 'ОШИБКА! Неверно введен e-mail.';
$err[2] = 'ОШИБКА! Не введено сообщение.';
echo '<p>'.$err[$num].'</p>';
show_form();
}
if (!empty($_POST['submit'])) complete_mail
(); else show_form();
?>
</body>
</html>