Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Как отправить E-mail сообщение с сайта?

Viktor | 24.02.2014 | нет комментариев

Отправляем письмо из E-mail формы.

Для удобства посетителей сайта, чтобы быстро отправить письмо по электронной почте, например Администратору Сайта, совсем не обязательно набирать его в почтовой программе (почтовом клиенте), а можно это сделать, воспользовавшись формами на web-странице.

В прошлом уроке “Формы на web-страницах сайта” мы разобрались с теоритической частью органицации различных форм на сайте. Сегодня давайте напишем реальный код для формы отправки сообщений с сайта.

Кроме этого можно еще организовать и проверку заполнения полей формы, на тот случай, если кто-то из посетителей Вашего сайта решил поиграться (поверьте таких чудаков хватает).

Теорию мы разбирали с Вами в прошлом уроке, если есть непонятные моменты вернитесь назад повторите. Приступаем сразу к коду в Листинге 1 приведен готовый код формы отправки почтовых сообщений:

Листинг 1.

<FORM NAME=”mailer” METHOD=”post” ACTION=”" ENCTYPE=”text/plain” onSubmit=”(document.mailer.action += mailtoandSubject)”>
<table border=2 align=center cellspacing=1 cellpadding=2 BgColor=#000FFF>
<tr><td><FONT size=”2″ color=”#FFFFFF”>Имя:</font></td>
<td><INPUT TYPE=”text” NAME=”Name” size=”24″ onChange=”msg(this.form)”></td></tr>
<tr><td><FONT size=”2″ color=”#FFFFFF”>Тема:</font></td>
<td><INPUT TYPE=”text” NAME=”Subject” size=”24″ onChange=”msg(this.form)”></td></tr>
<tr><td><FONT size=”2″ color=”#FFFFFF”>Сообщение:</font></td>
<td><TEXTAREA NAME=”Message” COLS=40 ROWS=6 onChange=”msg(this.form)”></TEXTAREA></td></tr>
<tr><td colspan=2 align=center><INPUT TYPE = “submit” VALUE = “Отправить” ONCLICK=”return checkIt()“>
<INPUT TYPE=reset VALUE=” Сброс “></td></tr></table>
</FORM>

Для простоты форматирования, поля формы заключены в таблицу. Как создаются таблицы мы уже тоже говорили посмотреть можно в уроке Таблицы. Теория. и в следующем уроке Таблицы. Практика. Иногда для упорядочения полей формы вместо таблиц используют теги <p> </p> теги абзацев. Принципиальной разницы нет, используйте то, что Вам больше нравится.

Иногда при заполнении формы, нужно быстро очистить все поля, для этих целей добавлена еще одна кнопка “Сброс” которая описывается в Листинге 1 вот таким кодом:

<INPUT TYPE=reset VALUE=” Сброс “>

Если функция “Сброс” Вам не нужно, просто удалите эту строчку.

А это программа Листинг 2, будет проверять, заполнил ли пользователь все поля и отправлять данные из формы адресату:

Листинг 2.

<SCRIPT LANGUAGE=”JavaScript”>
function checkIt() { // функция проверки полей формы
//———–
if (document.forms.mailer.Name.value != “”) { // функция проверки поля Name
} else {
alert(“\nОбласть \”Имя\” в форме. \n\nПожалуйста, введите свое имя.”); // выводит сообщение, если поле Name не заполнено
document.forms.mailer.Name.focus(); // возврашает курсор на поле Name
return false;
}
//———–
if (document.forms.mailer.Subject.value != “”) { // функция проверки поля Subject
} else {
alert(“\nОбласть \”Тема\” в форме. \n\nПожалуйста, введите тему.”); // выводит сообщение, если поле Subject не заполнено
document.forms.mailer.Subject.focus(); // возврашает курсор на поле Subject
return false;
}
//———–
if (document.forms.mailer.Message.value != “”) { // функция проверки поля Message
return true; // ВСЕ ОТЛИЧНО
} else {
alert(“\nОбласть \”Сообщение\” в форме. \n\nПожалуйста, напишите сообщение.”); // выводит сообщение, если поле Message не заполнено
document.forms.mailer.Message.focus(); // возврашает курсор на поле Message
return false;
}
//———–
}
function msg() { // функция отправки
document.mailer.action = “mailto:Ваша@почта.ru”
mailtoandSubject = ((‘?Subject=’ + document.mailer.Subject.value) + ‘&Body=’ + document.mailer.Message.value);
}
</SCRIPT>

Смените значение переменной Ваша@почта.ru на Ваш адрес электронной почты, куда будут приходить заполненные в форме сообщения. Данная форма содержит поля ИМЯ, ТЕМА и СООБЩЕНИЕ. Разумеется, вы можете изменить названия этих полей, а также добавить/удалить новые строчки (поля). При этом нужно будет внести некоторые изменения в программу проверки/отправки сообщения.

Каждому полю формы присвоено определенное имя, которое задано атрибутом NAME. При нажатии на кнопку “Отправить” происходит вызов функции checkIt(). Если поле не заполнено выводиться окно с сообщением с кнопкой Ok, после нажатия на которую курсор переходит на незаполненное поле.

Остальные функции проверки работают также (я разделил их вот таким комментарием //———–, чтобы Вам было удобнее добавлять или удалять функции).

Последняя функция должна содержать значение return true;. Именно это значение уведомляет об успешном окончании проверки и завершает проверку полей формы, так что решать, где его поставить – Вам.

Такая форма использует почтовую программу пользователя и, если она не настроена, ничего не отправится. Это к вопросу обработчика значений формы (из прошлого урока). Если Вы заметили то в Листинге 1 значение ACTION=”" пустое, в данном случае в качестве обработчика выступает почтовая программа.

А вот так форма отправки сообщений будет выглядеть на web-странице:

Имя:
Тема:
Сообщение:

Что бы изменить фоновый цвет внутри таблицы, поменяйте шестнадцатеричное значением цвета в парамете: BgColor=#000FFF Листинг 1.

Копируйте код Листнга 1 и Листинга 2, изменяйте на свои значения и вставляйте на свои web-страницы.

Удачи.

АВТОРСКИЕ ПРАВА
Источник: luksweb.ru
При перепечатке ссылка на источник обязательна
Оставить комментарий

Ваш email не будет опубликован. Обязательные поля помечены (обязательно)

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2014 © BB3x.ru - русская поддержка форума phpBB