![]() |
Показаны 11 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- срочно нужно!!! (http://netadmin.ws/forum/showthread.php?threadid=1779)
срочно нужно!!!
срочна нужна форма на php для отправки мыла с полями от кого, заголовком и текстом сообщения...
$to="admin@site.com"; //кому письмо
$subject="Вам письмо от Васи Пупкина"; //тема письма
$from="vasya_pupkin@mail.com"; //от кого письмо
$text="Я вам пишу письмо чего еще хотите ?"; //текст письма
$return="admin@site.com"; //куда вернуть письмо в случае ошибки
//не меняйте ничего, что написано ниже
$subject=stripslashes("$subject");
$text=stripslashes("$text");
$headers = "From: <$from>\n";
$headers .= "X-Sender: <$from>\n";
$headers .= "X-Mailer: PHP\n";
$headers .= "X-Priority: 3\n";
$headers .= "Return-Path: <$return>\n";
$headers .= "Content-Type: text/plain; charset=Windows-1251";
mail("$to", "$subject", "$text", "$headers");
Ну а саму форму сделать наверное сможешь 
__________________
Всё в одном месте для начинающих и профессионалов
- = Web-Profi CLUB = -
Хостинг (платный, бесплатный, dedicated), Баннерная Сеть, Форум для web-мастеров
неа... не смогу...(((((( мне бы целиком содержимое файла... плыз...
Если бы я делал такую форму, то обязательно делал с проверкой полей на заполнение, проверкой на валидность e-mail отправителя, выводом сообщения после удачной отправки, с обработкой ошибок и выводом сообщений об этих ошибках и т.д. и т.п.
Если ты не можешь сделать ДАЖЕ ФОÐ_МУ, то как ты разберешься в коде PHP.
Ctrl+С и Ctrl+V тебе в этом случае врядли помогут 
Вот форма:
<form name="send_mail" method="post" action="send_mail.php">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="400">
<tr>
<td width="100">
<p>От кого</p>
</td>
<td width="300">
<p><input type="text" name="from" maxlength="20" size="20"></p>
</td>
</tr>
<tr>
<td width="100">
<p>e-mail</p>
</td>
<td width="300">
<p><input type="text" name="from" maxlength="50" size="20"></p>
</td>
</tr>
<tr>
<td width="100">
<p>Тема</p>
</td>
<td width="300">
<p><input type="text" name="subject" maxlength="50" size="20"></p>
</td>
</tr>
<tr>
<td width="100">
<p>Текст</p>
</td>
<td width="300">
<p><textarea name="text" rows="5" cols="40"></textarea></p>
</td>
</tr>
</table>
</form>
__________________
Всё в одном месте для начинающих и профессионалов
- = Web-Profi CLUB = -
Хостинг (платный, бесплатный, dedicated), Баннерная Сеть, Форум для web-мастеров
3D-Dragon
Тебе наверное будет интересен этот класс.
Автомат по почте.
quote:
КЛАСС cmailout
Автор: Пономарев Андрей <doc@devels.org>
Дата: 17 октября 2000
1. ОБЩЕЕ НАЗНАЧЕНИЕ
Класс cmailout является базовым классом для отправки почты.
2. СТÐ_УКТУÐ_А КЛАССА
Класс cmailout содержит обязательную переменную $to, без указания
которой вызываемая функция send() не работает.
Юниксоидам надо указывать не нулевую переменную $clientcode
ибо при отправке "Тема" и "Текст" письма принудительно перекодируются
из windows-1251 в koi8-r.
Остальные переменные не обязательные. Варианты:
-> при указании только "куда" класс отправит пустое сообщение.
-> "куда", "заголовок"
-> "куда", "заголовок", "текст"
-> "куда", "заголовок", "текст", "вложенный файл"
-> и. т. д.
В наличии функции:
send() -отправка письма с параметрами заданными в функции
check() -проверка правильности ввода e-mail адреса
recodeCyr() -перекодировка строки в нужную кодировку кириллицы
attachment() -читает поток из файла
makeoctet() -находит октет файлов отправки(исполняемый, текстовый, и.т.д.)
addattach() -образует массив присоединяемых файлов
build_message() -кодирует и "собирает" одно из вложений сообщения
build_multipart() -"собирает" тело сообщения из нескольких вложений
step_send() -отсылает письмо
3. ОПИСАНИЕ ПЕÐ_ЕМЕННЫХ
$new = new cmailout();
$new->send("", "", "", "", "", "", "") = " отправка письма, параметры см. в описании функции " ;
$new->to = " адрес отправки " ;
$new->clientcode = " При отправке windows не
указывается из unix -
кодировка письма (koi8-r, iso-8859-1, и др.)";
$new->from = " отправитель сообщения " ;
$new->headers = " заголовок сообщения,
могут быть указаны адреса
CC: , BC: , Errors-To: и
другая служебная
информация.Ð_азделяются "\n".
Пример: Errors-To: doc@devels.org";
$new->subject = " Тема сообщения " ;
$new->body = " Текст сообщения " ;
$new->path = " Абсолютное местоположение
отправляемых файлов. Файлы
обязательно оканчиваются
точкой с запятой.
Пример: /home/primer/www/index.php;/home/primer/www/proba.php;";
$new->size = " Лимит размера отсылаемого файла по умолчанию 500Kb " ;
$new->step_send(); Отправка письма(без аргументов)
4. ОПИСАНИЕ ФУНКЦИЙ
Функция
void send(string [$to], string [$from], string [$headers], string [$subject], string [$body], array [$allpath], string [$codeclient])
Переменные функции
$to - кому
$from - от кого
$headers - заголовки
$subject - тема
$body - сообщение
$allpath - массив входных файлов (учитывать абсолютный формат пути!!)
$codeclient - кодировка отсылаемого письма (по умолчанию windows-1251)
Отсылает сообщенияпри наличии минимум $to.
Функция
void check()
Входным параметром является переменная класса $to, формат текстовый,
единственная переменная, при отсутствии которой класс не работает
Функция
void recodecyr(string $string)
Перекодировка кириллицы "Тема" и "Текст письма", по умолчанию перекодирует
из windows-1251 в koi8-r, чтобы этого избежать надо присвоить переменной
класса $clientcode предпочтительное значение кодировки.
Пример: $clientcode = koi8-r, $clientcode = iso-8859-5 .....
Функция
void attachment()
Возвращает ANSI формат файла(файлов), указанные переменной класса $path,
размер которого не превышает переменной класса $size (по умолчанию 500Kb).
Функция
void makeoctet()
Возвращает MIME значение присоединенного файла.
Функция
void addattach(string [$message], string [$name], string [ctype])
$message - абсолютное имя файла;
$name - имя файла;
$ctype - application/octet-stream файла;
Образует массив присоединеного(ных) файла(файлов)
Функция
void build_message(array [$part])
Возвращает закодированное "base64" и сформированное вложение, входным
параметром являются данные массива(образованного функцией addattach())
по вложенному в письмо файлу.
Функция
void build_multipart()
Cобирает тело сообщения из текстового контента и (нескольких) вложений
Функция
void step_send()
Отсылает сообщения.
3D-Dragon
спасибо... все разобрался... все заработало... только понять не могу... вот хтмл форма... нажимаешь субмит... вызывается php файл... как после его обработки возвратить управление обратно на эту форму????
В обработчике формы (например send_mail.php) в самом низу вместо этой строки:
mail("$to", "$subject", "$text", "$headers");
Вставь вот это:
$send=mail("$to", "$subject", "$text", "$headers");
if ($send)
{
Header ("Location: forma_mail.html");
} else {
print "Ошибка! Письмо не отправлено !";
}
__________________
Всё в одном месте для начинающих и профессионалов
- = Web-Profi CLUB = -
Хостинг (платный, бесплатный, dedicated), Баннерная Сеть, Форум для web-мастеров
сенкс... ваще всё замечательно... чуть-чуть доработал и всё ок... а про форму написал так потому что думал, что в php свои формы.... встроенные... )))))) вывод сообщения после отправки сделал.... а вот что значит проверка валидности мыла???? точнее что значит понимаю но как это реализовать??? это ведь чтобы левые мыл не вводили????
"Левые мылы" ты не проверишь 
А вот проверить ввели ли в поле действительно адрес e-mail нужно проверять. В свое время, я перепробовал много конструкций и остановился на этой:
if (!ereg("^([._a-z0-9-]+[._a-z0-9-]*)@(([a-z0-9-]+\.)*([a-z0-9-]+)(\.[a-z]{2,3}))$",$mail))
{
$err_mail="Ð_то не E-MAIL";
}
__________________
Всё в одном месте для начинающих и профессионалов
- = Web-Profi CLUB = -
Хостинг (платный, бесплатный, dedicated), Баннерная Сеть, Форум для web-мастеров
и куда это воткнуть??? в самое начало пхп кода там где переменные описываются???
:)
| Формат времени GMT. Текущее время 07:55. | Показаны 11 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.