|
|
Как
отправить письмо со странички (или практическое применение PERL-скриптов
- 2)
|
Автор: Юрий Рассадников
|
Интернет все сильнее входит в нашу жизнь заставляя владельцев страничек глубже изучать язык гипертекстовой разметки (HTML) и все чаще прибегать к использованию скриптов. И не красоты ради, а в первую очередь, чтобы облегчить жизнь посетителям и владельцам. Скрипты принципиально делятся на два типа. Первые исполняются на сервере в интернете, вторые у пользователя. К первой группе относятся скрипты написанные на Перл. Ко второй - на JavaScript. Оба типа имеют свои преимущества и недостатки. К примеру использование JavaScript может быть запрещено пользователем в настройках браузера. И он "несчастный" не увидет творение рук ваших. Тогда как первые независимы от пользователя, его операционной системы и браузера. Но для своей поддержки требуют более "крутой" сервер. Читай - платный хостинг. В этой статье речь пойдет о Перл-скриптах. Благо в последнее время их использование разрешено и на многих бесплатных серверах. И Вы сами можете все проверить. Будет решена конкретная задача: отправки письма (e-mail) со странички в интернете. Блуждая в сети вы наверняка не раз встречали сайты с призывами типа "Порекомендуйте нас друзьям". После такой фразы обычно следует форма с полями для e-mail адресов ваших друзей. Которых, в итоге, вы "осчастливите" рекламой посещенного сайта. Как это работает? Отправка писем на Unix-серверах в интернете осуществляется приложением SendMail. Именно его используют листы рассылки новостей сайта. И чтобы отправить письмо достаточно только сформировать правильный запрос к этой программе. То есть определить адреса получателя и отправителя, тему и текст сообщения. А дальше SendMail все сделает сам. В простейшем
случае на Перл это выглядит так (информация получена с сервера MASTAK.COM): Чтобы приметить вышеуказанный код вам необходимо сформировать запрос и передать его скрипту. Запрос сформируем
с помощью формы: Выглядит эта форма примерно так: Нажав на кнопку "Отправить" пользователь запустит Перл-скрипт ("/cgi-bin/mailme.pl") передав ему данные из формы методом POST. Причем как видимые (введенные посетителем), так и скрытые (type="hidden"). Но это не все. С начала скрипт должен раскодировать полученные данные. И лишь потом принять их к исполнению. Неплохо было бы полученные данные также проверить на корректность. В частности e-mail адрес. Не вдаваясь
в тонкости раскодирования параметров полученных от формы и дополнив код
итоговым сообщением для пользователя приведу полный текст Перл-скрипта
"mailme.pl" который используется на моем
сервере: #!/usr/bin/perl Первая строка отвечает за расположение Перл на сервере. Далее следует обработчик запроса (полученного от формы). Потом знакомый нам вызов приложения SendMail с передачей ему расшифрованных параметров. А в заключительной части пользователю выводится сообщение о результатах работы скрипта. В отчете отображаются отправитетель, получатель, тема и текст сообщения. И, наконец, ссылка на страницу с которой был вызван скрипт. Что необходимо сделать, чтобы использовать скрипт? С начала уточните у администратора сервера расположение Перл и SendMail. И внесите при необходимости изменения. Далее закачайте скрипт на сервер в ASCII режиме. И установите ему атрибут "755". То есть сделайте его исполняемым. Создайте на своей страничке форму подобную приведенной выше. И пользуйтесь на здоровье! Источник: http://rsw.mastak.com |