mail();

Vit@l
На сайте с 18.11.2005
Offline
57
830

Я о пхп имею очень маленькое представление.

Нужно создать отправку формы с сайта.

В форме написано action="send.php", где по логике должна использоваться функция mail();...

Как сделать так, чтобы получать содержимое формы, а не пустое сообщение?

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

Подскажите плиз простейший пример из 2х страниц (form и send). Спасибо.

L
На сайте с 28.02.2006
Offline
132
#1

Я недавно подновил простенький модуль для Slaed CMS. Там как раз все это написано(в коде естественно, но там ничего сложного нет). Заодно модуль показывает тИЦ добавленного сайта.

http://www.web.wilan.com.ru/modules.php?name=Files&go=view_file&lid=221

[Удален]
#2

Введенный текст передается (лучше методом POST) в файл send.php, в котором переменные $_POST[имя_поля_формы] объединяются в одной переменной и далее высылаются через mail(). Пример:

Файл с формой не привожу - тут нет ничего интересного. За исключение названия полей формы - их нужно прописать и сделать уникальными, само собой.

Далее - файл с отправкой:

$adress = "admin@mail.ru";


$subject = "Внимание! Новое сообщение с сайта";
$body = "Пользовательские данные:\n";
$body = "[N] Имя: $_POST[name],\n
[@] E-mail: $_POST,\n
[С] Город: $_POST[city],\n
[#] Телефон: $_POST[phone],\n
[!] Сообщение: $_POST[text]\n\n
mail($adress, $subject, $body, "From: MySite.Ru <admin@mail.ru>");
A
На сайте с 25.10.2005
Offline
58
#3
Vit@l:
Я о пхп имею очень маленькое представление.
Нужно создать отправку формы с сайта.
В форме написано action="send.php", где по логике должна использоваться функция mail();...
Как сделать так, чтобы получать содержимое формы, а не пустое сообщение?
Я брал готовые скрипты, но там много непонятной для меня писанины, чего я не люблю. Типа проверка заполнения, цензура и еще всякая ненужная фигня.
Подскажите плиз простейший пример из 2х страниц (form и send). Спасибо.

тебе сюда: http://phpclub.ru/talk/index.php

bondarev.pp.ru
На сайте с 29.09.2005
Offline
202
#4

Vit@l, функция mail слишком проста для использования. Если вы будете отправлять письма с ее помощью только себе, то ее вполне достаточно. Если нужно отправлять письмо на любой адрес - придется над ней поработать:

Для прохода спам-фильтров:

1. Письмо обязательно должно быть в KOI-8

2. Кириличные заголовки обязательо должны быть специальным способом закодированы (не помню номера RFC)

3. Письмо должно содержать заголовок Message-id с доменом из адреса отправителя

иначе некоторые спам-фильтры будут безжалостно резать ваши письма, считая, что это спам.

+ для корректного распознавания кодировки она тоже должна быть указана в заголовках письма.

+ для удобства чтения текст письма должен быть обработан функцией wordwrap().

В общем, все не так просто. Лучшее решение - написать свою функцию, основанную на mail(), где будут утчены все эти и другие моменты. У каждого PHP программиста есть соответствующая библиотека.

bondarevpipes.com (http://ru.bondarevpipes.com/)
[Удален]
#5

Есть готовое решение, обходящие любые фильтры, написано на perl. Пишите в ПМ .

Vit@l
На сайте с 18.11.2005
Offline
57
#6

Спасибо большое, разобрался.

A
На сайте с 25.10.2005
Offline
58
#7
bondarev.pp.ru:

Для прохода спам-фильтров:

чему людей учите :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий