вот оно =)))
2 фала первый php другой html-типо шаблон.
HTML:
PHP код:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<title>.:: Связь с Редколлегией ::.</title>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251">
<body>
<form enctype="multipart/form-data" method=post >
<table class="form" width="100%" border="0" style="margin-left:0; margin-top: 5; margin-right: 0; margin-bottom: 0;">
$errors[to]
<tr>
<td>Кому</td>
<td><select name="to">
<option value="0" $selected[1]>Пастух (Главный Редактор)
<option value="1" $selected[2]>Neo (Вебмастер)
<option value="2" $selected[3]>Багире (Модератор)
<option value="3" $selected[4]>Волкодаву (Модератор)
</select>
</td>
</tr>
$errors[subject]
<tr>
<td >Тема</td>
<td ><input name="subject" type="text" size="50" value="$subject"></td>
</tr>
$errors[from]
<tr>
<td >Ваш e-mail</td>
<td ><input name="from" type="text" size="50" value="$from"></td>
</tr>
$errors[file]
<tr>
<td >Приложение</td>
<td ><input name="file" type="file" size="50"><br>
<font size=1 color=red>Допустимые форматы файлов:</font><font size=1> jpg, gif, png, doc, txt</font></td>
</tr>
$errors[text]
<tr>
<td valign="top" >Сообщение<br><font color=red><br>Пожалуйста, укажите свое имя <br>
в качестве первой строки сообщения.<p style="margin-left:0" align=justify>
Пользуйтесь данной формой только в тех случаях, когда вам необходимо отправить аттачмент.
В противном случае выберите из следующего меню того,
с кем вам нужно связаться:</font><br><br>
<a href="../../../../contacts/emailred/form.html" target="_self"><u>Пастух (Гл. Редактор)</u></a>
<br><a href="../../../../contacts/emailweb/form.html" target="_self"><u>Neo (Вебмастер)</u></a>
<br><a href="../../../../contacts/emailbag/form.html" target="_self"><u>Багира (Модератор)</u></a>
<br><a href="../../../../contacts/emailvol/form.html" target="_self"><u>Волкодав (Модератор)</u></a></font></td>
<td rowspan="2" ><textarea name="text" cols="30" rows="15">$text</textarea></td>
</tr>
<tr>
<td valign="bottom" align="center" ></td>
</tr>
<tr>
<td valign="middle" align="center" ><input name="submit" type="submit" value=" Послать "></td>
<td align=center><font color="#FF0000">Все</font> поля обязятельны!</td>
</tr>
</table>
<br>
</form>
</html>
PHP:
PHP код:
<?php
$tmp_name = "neo.html";
// Являится ли строка синтаксически
// правельным адресом электроной почты
function check_email($string) {
$string = trim($string);
$ret = ereg(
'^([a-z0-9_]|\\-|\\.)+'.
'@'.
'(([a-z0-9_]|\\-)+\\.)+'.
'[a-z]{2,4}$',
$string);
return $ret;
}
// Это JPG GIF PNG DOC TXT?
function check_file($file) {
$ret = ereg("([a-z0-9_]|\\-)+\\.(jpg|gif|png|doc|txt)$", $file);
return $ret;
}
// Проверяет строку на минимальную и максимальную длину
function check_length($string, $min_length, $max_length) {
$str_length = strlen($string);
if($str_length < $min_length || $str_length > $max_length) return false;
return true;
}
// Проверяем, нажата ли кнопка отправить
function html_error($error) {
return("<tr align=\"Right\"><td colspan=\"2\">$error</font></td></tr>");
}
// отправлина ли форма?
if(@$submit) {
// инцилизация масивов ошибок
$errors = array();
// так навсякий, а в друг?
if(!empty($to)) $errors[to] = html_error("И кому это вы собрались отправлять письмо?");
// Проверка "Темы" на длину
if(!empty($subject)) {
if(!check_length($subject, 3, 30))
$errors[subject] = html_error("Тема должна быть не мене 3-x символов, и не более 30-ти!");
} else $errors[subject] = html_error("Вы не заполнили поле \"Тема\"");
// Проверка "Мыла" на ситаксис :)
if(!empty($from)) {
if(!check_email($from))
$errors[from] = html_error("Не правильно введен E-mail, он должен быть вида [email]name@host.zone[/email]!");
} else $errors[from] = html_error("Вы не заполнили поле \"Мыло\"");
// Проверка "Текста" на длину
if(!empty($text)) {
if(!check_length($text,2, 500)) {
$errors[text] = html_error("Тест должен быть не мене 2-x символов, и не более 500-та!");
}
} else $errors[text] = html_error("Вы не заполнили поле \"Текст\"");
// Проверка "Фала" на отрибуты :)
if(!empty($file)) {
if(!check_file($file_name))
$errors[file] = html_error("Допустимые форматы файлов: JPG GIF PNG DOC TXT!");
}
else $errors[file] = html_error("Вы не заполнили поле \"файл\"");
$selected[$to] = "selected";
// Проверяем, принит ли файл
// Можно приступать к обработке данных или в них есть ошибки?
if(count($errors) == 0) {
if(!file_exists($file)) {
echo "Извените, но по каким то причинам файл не считался попробуйте еще разок :)";
} else {
// приступаем к отправки письма
$content = chunk_split(base64_encode(fread(fopen("$file","r"),
filesize("$file"))));
$from_mail = array("admin@shabash.dreamsee.ru",
"webmaster@shabash.dreamsee.ru",
"bagira@shabash.dreamsee.ru",
"volkodav@shabash.dreamsee.ru");
function sendmsg($to, $subject, $text, $from, $file, $f_name, $type) {
$content = fread(fopen($file,"r"),filesize($file));
$content = chunk_split(base64_encode($content));
$uid = strtoupper(md5(uniqid(time())));
$tf="text/txt";
$name=$type;
$header = "From: $from\nReply-To: $from\n".
"MIME-Version: 1.0\n".
"Content-Type: multipart/mixed; boundary=$uid\n".
"--$uid\n".
"Content-Type: text/plain\n".
"Content-Transfer-Encoding: 8bit\n\n".
"$text\n".
"--$uid\n".
"Content-Type: $tf; name=\"$f_name\"\n".
"Content-Transfer-Encoding: base64\n".
"Content-Disposition: attachment; filename=\"$f_name\"\n\n".
"$content\n".
"--$uid--";
mail($to, $subject, "", $header);
return true;
}
// отправляем письмо :)
if(sendmsg($from_mail[$to], $subject, $text, $from, $file, $file_name, $type)) echo "Сообщение отослано. Спасибо!";
else echo "Извените но произошла ошибка :( <br> попробуйте ещё раз :)";
}
}
}
// мини мини шаблонизатор :)
$html = str_replace('"', '\\"', @implode("", ( @file("$tmp_name"))));
eval("echo \"$html\";");
?>
Добавлено через 1 минуту:
да ещё если пьсьма не будут доходить...
то постродай с кодом после "// приступаем к отправки письма" =) )
Добавлено через 5 минут:
гы ошибка форума, пишу смайл, а выводит
<img src="images/smilies/smile.gif" border="0" alt="">
проба:
мля ошибку нашёл

исправил =)