Глава 25. CGI-скрипты____________________________________595
Subject:<SELECT NAME="subject">
<OPTION>Hello!
<OPTION>Help!!
<OPTION>Reply please
</SELECT>
<P>
Enter your comments:<br>
<TEXTAREA NftME=comments ROWS=10 COLS=60>
</TEXTAKEA>
<P>
<INPUT TYPE="SUBMIT">
</FORM>
</BODY>
</HTML>
После того как эта форма будет заполнена посетителем, информация из нее будет передана на сервер, который переправит ее CGI-скрипту, указанному в атрибуте ACTION формы. В данном примере информация, введенная пользователем, будет обрабатываться скриптом mail.pl.
В листинге 25.3 приведен полный текст скрипта mail.pl. Первая строчка в этом скрипте сообщает системе, что это PERL-скрипт, а также определяет полный путь к программе-интерпретатору скрипта.
Далее определяются две переменные. Первая переменная задает путь к программе sendmail, которая выполнит обработку полученного сообщения и действительно отошлет электронное сообщение по месту назначения. Вторая определяет получателя, т. е. задает адрес электронной почты, по которому будет отправлено сообщение. Этот адрес определен в скрипте для того, чтобы никто из посетителей сайта не смог просто скопировать форму и изменить адрес получателя.
Далее скрипт выполняет синтаксический анализ входного потока, поступающего от сервера, записывая отдельные элементы этого сообщения в массив contents. Это позволяет легко манипулировать с информацией, введенной посетителем.
Ну и, наконец, электронное сообщение отправляется адресату, а посетителю выдается новая HTML-страница с благодарностью за присланные комментарии, информирующая его, что письмо было благополучно отправлено.
#!/usr/bin/peri $mailprog= "/usr/lib/sendmail";
$recipient= "userX@foo.bar.com";