| Автор |
Сообщение |
Александр Леонидович
 1103 |
# Дата: 10 Май 2008 12:44 ° Поправил: Александр
flat.php
<?
$br = "domain.ua";
mail("support@$br", "заявка с сайта", " от $name
Город: $city
Район города: $block
Улица: $street
Общая площадь: $space
Жилая площадь: $floorspace
Этаж: $level
Этажность здания: $alevel
Высота потолков: $ceiling
Площадь кухни: $kitchen
Мой телефон: $tel
Email-отправителя: $email
Тема: $reason
Примечание: $message",
"From: <$email>\nContent-type: text/plain; charset=windows-1251");
Header("Content-type: text/html");
echo "<br><br><center>Ваша заявка принята.<br>После её рассмотрения с Вами свяжу
ться наши сотрудники.<br><br><a href='javascript:history.back()'>НАЗАД</a> "
?>
index.html
<form action="flat.php" name=mailer><table align=center>
<tr><td class=leftext>Город</td><td><input type=text name=city size=20 maxlength
=20 class=pochta></td></tr>
<tr><td class=leftext>Район города</td><td><input type=text name=block size=20 m
axlength=15 class=pochta></td></tr>
<tr><td class=leftext>Улица</td><td><input type=text name=street size=20 maxleng
th=15 class=pochta></td></tr>
<tr><td class=leftext>Общая площадь</td><td><input type=text name=space size=5 m
axlength=8 class=pochta></td></tr>
<tr><td class=leftext>Жилая площадь</td><td><input type=text name=floorspace siz
e=5 maxlength=8 class=pochta></td></tr>
<tr><td class=leftext>Этаж</td><td><input type=text name=level size=5 maxlength=
8 class=pochta></td></tr>
<tr><td class=leftext>Этажность здания</td><td><input type=text name=alevel size
=5 maxlength=9 class=pochta></td></tr>
<tr><td class=leftext>Высота потолков</td><td><input type=text name=ceiling size
=5 maxlength=9 class=pochta></td></tr>
<tr><td class=leftext>Площадь кухни</td><td><input type=text name=kitchen size=5
maxlength=9 class=pochta></td></tr>
<tr><td class=leftext>Примечание</td><td><textarea name=message cols=40 rows=3 c
lass=pochta></textarea></td></tr>
<tr><td class=leftext>Ваше имя</td><td><input type=text name=name maxlength=50 c
lass=pochta></td></tr>
<tr><td class=leftext>Ваш телефон</td><td><input type=text name=tel maxlength=50
class=pochta></td></tr>
<tr><td class=leftext>Ваш е-mail</td><td><input type=text name=email size=30 max
length=50 class=pochta></td></tr>
<tr><td class=leftext></td><td><input value="отправить" type=submit class=butn><
/td></tr></table></form>
У меня к вам просьба - если можно - как сделать аттач? Нужно аттачить .doc и .jpg - размер не важен.
Помогите пожалуйста
|
Александр Леонидович
 1103 |
# Дата: 10 Май 2008 15:40
нашёл рабочий скрипт - но текст и имя аттача если оно в кирилице - идёт крякозябрами....
<html>
<head>
<title>Отправка письма с аттачем</title>
</head>
<body>
<?if($send=="ok"):?><font color="green">Сообщение отправлено</font><br><br><?end if;?>
<form action="mail.php" method="post" enctype="multipart/form-data">
From: <input type="text" name="from"><br>
To: <input type="text" name="to"><br>
Subject: <input type="text" name="subj"><br>
Text:<br><textarea cols="20" rows="5" name="text"></textarea><br>
File: <input type="file" name="file"><br>
<input type="submit" name="submit" value="Отправить">
</form>
</body>
</html>
<?
//Функция проверки переменной
function html_filter($str) {
$result = HTMLSpecialChars($str);
return $result;}
//Функция проверки e-mail
function isEmail($email){
if (eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]+$", $ email)){return TRUE;}else{return FALSE;}}
//Функция отправки письма с аттачем
function XMail($from, $to, $subj, $text, $filename, $file)
{
$f = fopen($file,"rb");
$un = strtoupper(uniqid(time()));
$head = "From: $from\n";
$head .= "To: $to\n";
$head .= "Subject: $subj\n";
$head .= "X-Mailer: PHPMail Tool\n";
$head .= "Reply-To: $from\n";
$head .= "Mime-Version: 1.0\n";
$head .= "Content-Type:multipart/mixed;";
$head .= "boundary=\"----------".$un."\"\n\n";
$zag = "------------".$un."\nContent-Type:text/html;\n";
$zag .= "Content-Transfer-Encoding: 8bit\n\n$text\n\n";
$zag .= "------------".$un."\n";
$zag .= "Content-Type: application/octet-stream;";
$zag .= "name=\"".basename($filename)."\"\n";
$zag .= "Content-Transfer-Encoding:base64\n";
$zag .= "Content-Disposition:attachment;";
$zag .= "filename=\"".basename($filename)."\"\n\n";
$zag .= chunk_split(base64_encode(fread($f,filesize($file))))."\n";
if (!@mail("$to", "$subj", $zag, $head))
return 0;
else
return 1;
}
//Функция отправки письма без аттача
function EMail($from, $to, $subj, $text)
{
$un = strtoupper(uniqid(time()));
$head = "From: $from\n";
$head .= "To: $to\n";
$head .= "Subject: $subj\n";
$head .= "X-Mailer: PHPMail Tool\n";
$head .= "Reply-To: $from\n";
$head .= "Mime-Version: 1.0\n";
$head .= "Content-Type:multipart/mixed;";
$head .= "boundary=\"----------".$un."\"\n\n";
$zag = "------------".$un."\nContent-Type:text/html;\n";
$zag .= "Content-Transfer-Encoding: 8bit\n\n$text\n\n";
$zag .= "------------".$un."\n";
if (!@mail("$to", "$subj", $zag, $head))
return 0;
else
return 1;
}
//Функция отправки письма без аттача
//Получаем данные из формы
if(isset($submit)):
//Проверяем полученные из формы данные
$from = trim(html_filter($from));
$to = trim(html_filter($to));
$subj = trim(html_filter($subj));
$text = trim(html_filter($text));
$text = str_replace("\n", "<br>\n", $text);
$filename = trim(html_filter($file_name));
//Если прикреплен файл
if($filename!="" and $file_size>0):
if(XMail($from, $to, $subj, $text, $filename, $file)==1){header("Location:?send= ok");}
endif;
//Если Не прикреплен файл
if($filename=="" or $file_size==0):
if(EMail($from, $to, $subj, $text)==1){header("Location:?send=ok");}
endif;
endif;
?>
|
Systemnik Участник
 275 |
# Дата: 11 Май 2008 12:10
Советую использовать класс phpmailer вот http://www.life-host.net/help/phpmailer.zip
|
Александр Леонидович
 1103 |
# Дата: 11 Май 2008 12:22
Тот скрипт что я привёл - вполне рабочий. Только письма хотя и идут в кодировке вин-1251 но почтовый клиент ее сразу не распознаёт, и приходится принудительно переключать.
За ссылку - спасибо - посмотрю.
|
Systemnik Участник
 275 |
# Дата: 11 Май 2008 12:30
Вот вот.. откроете код класса там уже кучу астроек по умолчанию смените
|
maxtat pda killer
 1478 |
# Дата: 11 Май 2008 12:38
» Александр Только письма хотя и идут в кодировке вин-1251 но почтовый клиент ее сразу не распознаёт
Была такая же фигня, у тебя прописано в хеадере письма вот это? "Content-type: text/html; charset=*** \r\n" Лично я поменял на koi8-r и весь текст письма конвертил функцией iconv, иначе все равно клиент почтовый не переключал кодировку...
|
Александр Леонидович
 1103 |
# Дата: 11 Май 2008 17:58
<form action="mail.php" name=mailer><table align=center>
<tr><td class=leftext>Ваше имя:</td><td><input type=text name=name maxlength=50 class=pochta></td></tr>
<tr><td class=leftext>Bаш е-mail:</td><td><input type=text name=email size=30 ma xlength=50 class=pochta></td></tr>
<tr><td class=leftext>Тема:</td><td><input type=text name=reason maxlength=50 cl ass=pochta></td></tr>
<tr><td class=leftext>Текст письма:</td><td><textarea name=message cols=40 rows= 10 class=pochta></textarea></td></tr>
<tr><td class=leftext></td><td><input value="отправить" type=submit class=butn>< /td></tr></table></form>
<?
$br = "???.ua";
mail("???@$br", "письмо с сайта", " от $name
email-отправителя: $email
тема: $reason
текст письма: $message",
"From: <$email>\nContent-type: text/plain; charset=windows-1251");
Header("Content-type: text/html");
echo "<br><br><center>Ваше письмо отправлено успешно.<br><br><a href='javascript :history.back()'>НАЗАД</a> "
?>

|
maxtat pda killer
 1478 |
# Дата: 11 Май 2008 22:55
Вот попробуй поставить koi8-r синтаксис конверта кодировки: iconv("windows-1251","koi8-r","текст");
|
WarGot Per aspera ad astra
 1949 |
# Дата: 12 Май 2008 01:49
maxtat
» maxtat iconv("windows-1251","koi8-r","текст");
извращенный способ
но когда мну наедает я его тоже использую -)
|
Roler USA Hater
 1321 |
# Дата: 12 Май 2008 12:52
А как по-другому?
|
madman Участник
 255 |
# Дата: 13 Май 2008 11:09
Roler, есть такая штука PEAR. Рекомендую. Вот линк на Mail_Mime
|
maxtat pda killer
 1478 |
# Дата: 14 Май 2008 00:12
Неплохой пакет, надо будет посмотреть повнимательнее его 
|