Форум сетевых администраторов
Показаны 11 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- срочно нужно!!! (http://netadmin.ws/forum/showthread.php?threadid=1779)


Помещено Y2K 20-06-2002 в 23:23:

срочно нужно!!!

срочна нужна форма на php для отправки мыла с полями от кого, заголовком и текстом сообщения...


Помещено 3D-Dragon 21-06-2002 в 00:16:

$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-мастеров


Помещено Y2K 21-06-2002 в 00:54:

неа... не смогу...(((((( мне бы целиком содержимое файла... плыз...


Помещено 3D-Dragon 21-06-2002 в 01:28:

Если бы я делал такую форму, то обязательно делал с проверкой полей на заполнение, проверкой на валидность 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-мастеров


Помещено devels 21-06-2002 в 08:07:

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()

Отсылает сообщения.




Попробуй.


Помещено Y2K 21-06-2002 в 20:41:

3D-Dragon
спасибо... все разобрался... все заработало... только понять не могу... вот хтмл форма... нажимаешь субмит... вызывается php файл... как после его обработки возвратить управление обратно на эту форму????


Помещено 3D-Dragon 21-06-2002 в 20:59:

В обработчике формы (например 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-мастеров


Помещено Y2K 21-06-2002 в 22:17:

сенкс... ваще всё замечательно... чуть-чуть доработал и всё ок... а про форму написал так потому что думал, что в php свои формы.... встроенные... )))))) вывод сообщения после отправки сделал.... а вот что значит проверка валидности мыла???? точнее что значит понимаю но как это реализовать??? это ведь чтобы левые мыл не вводили????


Помещено 3D-Dragon 21-06-2002 в 22:29:

"Левые мылы" ты не проверишь
А вот проверить ввели ли в поле действительно адрес 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-мастеров


Помещено Y2K 21-06-2002 в 22:48:

и куда это воткнуть??? в самое начало пхп кода там где переменные описываются???


Помещено Benjamin 07-07-2002 в 14:57:

:)


Формат времени GMT. Текущее время 08:14.
Показаны 11 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.