Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #30, МАЙ 2003 г.

POP дает! - оперативная почтовая инфа

Владимир Егоров aka Dr.NET

Спецвыпуск Xakep, номер #030, стр. 030-038-2


Двигаемся дальше. Во второе текстовое поле с именем "login" будем вводить имя пользователя для почтового ящика. Оно обычно совпадает с тем, что находится до значка "@" в адресе электронной почты. Например, если адрес мыла "vasya@pop.zhopaserver.ru", то имя пользователя для этого почтового ящика будет "vasya". В третье поле типа "password" с именем "pass" нужно будет вводить пароль для почтового ящика. Ибо сервак дает добро лишь при нормальном к нему подключении, то есть при наличии как логина, так и пароля. Яснее ясного.

Дальше помещаем две стандартные кнопки "submit" и "reset" (надеюсь, тебе не надо объяснять, для чего они нужны). Закрываем теги. Все, с этой страницей покончено.

Если ты все еще ментально со мной, знай, что нашим следующим действием станет сотворение сценария, который будет подрубаться к POP-серверу и просить его дать инфу о количестве сообщений и их суммарном размере. Для написания этого сценария я выбрал язык Java и технологию создания динамических Web-приложений Java Server Pages, которая использует Java. Есть куча серверов, которые поддерживают Java Server Pages и сервлеты Java. А еще Джаву очень любит Дронич :). Так что юзай, не стесняйся. Назову, например, Apache Tomcat, поставляемый вместе с Borland Java Builder. JSP имеют довольно широкие возможности, но, как мне кажется, существенно уступают ASP.NET. Я выбрал JSP для написания сценария, потому что в jdk 1.3 есть класс для работы с POP-серверами. В ASP.NET же такого не имеется, по крайней мере в стандартном пакете. Итак, создаем файл frame.jsp. В нем пишем

<%@ page import="ipworks.*"%>

<%@ page contentType="text/html; charset=windows-1251" %>

Первая строка импортирует пакет "ipworks", который содержит интересующий нас класс, а вторая строка задает заголовок HTTP Content-Type для данной страницы.

Дальше пишем обычное начало документа HTML, а после тега <body> вставляем кусок Java-кода (код должен быть между <% и %>), в котором сначала создаем экземпляр класса "Pop", который нужен для обращения к POP-серверу. Назовем этот экземпляр "pop" (запомни раз и навсегда или запиши где-нибудь, что язык Java чувствителен к регистру, поэтому "Pop" и "pop" - разные имена). Далее присваиваем свойствам "MailServer", "User" и "Password" объекта "pop" значения, позаимствованные из формы.

Connect

После этого пробуем подключиться к серваку. Для этого присваиваем свойству Action объекта "pop" значение "a_Connect", при этом происходит попытка подключения к серверу. Однако эта процедура может закончиться безуспешно (это, увы, не от нас уже зависит), а язык Java типа строгий и даже хуже, так как требует обязательной обработки исключений (фактически ошибок). Поэтому мы заключаем нашу попытку подключения и то, что должно быть выполнено в случае успеха, в блок try {...}, а то, что выполняется в случае неудачи, - в блок catch (Exception ex) {...}.

Назад на стр. 030-038-1  Содержание  Вперед на стр. 030-038-3