Работа с почтовым сервером на Java | ||||
[RUS] [UKR] [ENG] [Библиотека] [Ссылки] [Отчёт по поиску] [Автореферат] [ДонНТУ] [Сайт магистров] | ||||
|
JavaMail API - это набор абстрактных API, которые моделируют почтовую систему. API предоставляет платформенно и протоколо независимую оболочку для построения Java технологий, базирующихся на почтовых приложениях. JavaMail API предоставляет средства для чтения и посылки почтовых сообщений. Сервис провайдеры реализуют необходимые протоколы. Некоторые сервис провайдеры включены в пакет JavaMail API; другие доступны отдельно. JavaMail API реализовано как Java пакет в JDK 1.4 и позднее на любой операционной системе, он также входит в состав Java Platform, Enterprise Edition (Java EE). API можно загрузить с http://java.sun.com/products/javamail/. Вам всё ещё необходимо соединение с почтовым сервером для посылки-приёма сообщений, но API предоставляет интерфейс для создания этого соединения. Для отправки сообщения необходимо понимание работы классов: Session, Message Address, Transport. Если необходимо использовать включения в сообщения, то необходимы также: Multipart, BodyPart, DataSource, DataHandler. Класс Session представляет почтовую сессию с почтовым сервером. Все операции требуют соединения с почтовым сервером, поэтому данное соединения необходимо создать. Сессию можно получить с помощью getDefaultInstance() или getInstance() методов класса Session. getDefaultInstance() метод возвращает общую для всех сессию, а getInstance() метод каждый раз возвращает новую сессию. Для создания сессии необходимо передать параметры, которые определяют свойства сессии, такие как адресс почтового сервера (mail.host), название используемого протокола (mail.transport.protocol), адреса источника (mail.from и mail.user), необходимость аутентификации при соединении к серверу (mail.smtp.auth). При использовании аутентификации необходимо реализовать метод private static Authenticator getAuthentificator(), который как следует из описания возвращает аутентификатор, исползуемый при соединении. Аутентификатор состоит из логина и пароля для подключения к серверу.
После создания сессии необходимо создать сообщение. Message класс представляет почтовое сообщение - это абстрактный класс: После создания сообщения необходимо определить его содержимое. Каждая часть сообщения имеет соответствующий метод для установки:
Для установки From или To полей сообщения необходим класс Address, который создаётся на основе InternetAddress класса. Адресс создаётся из строки. Для указания получателей необходимо использовать метод addRecipient(), с помощью которого можно указать поле To, CC или BCC (скрытая копия) поля. Класс RecipientType содержит указанные выще константы:
Всё, что необходимо для простого сообщения - указать тему сообщения и текст сообщения с помощью функций setSubject() и setText(). После создания сообщения и установки всех необходимых полей его необходимо отправить - для этого используется класс Transport. Transport.send(message) выполняет автоматическое соединение по указанному в параметрах протоколу и передаёт сообщение по указанным в сообщении адресам. Для иллюстрации работы JavaMail был написан апплет, котрый выполняет отсылку простого сообщения на указанный адресс. Из приведённого описания очевидно, что приём и отправка почтовых сообщений в Java не вызывает никаких трудностей. JavaMail получил широкое распространение как в коммерческих приложениях так и в мобильных почтовых клиентах, среди мобильных клиентов следует выделить наиболее полноценные и многофункциональные Columba, FlurryMail, MailMan, TRICAST Mail. Исходный текст можно загрузить здесь. Готовый апплет можно загрузить здесь. Запустить апплет. Использованные материалы 1. Техническая документация с официального сайта Sun 2. Прием почты при помощи JavaMail(tm) API 3. Java Developers Almanac 1.4 5. JavaMail и Providers документация с официального сайта Sun |
|||
[RUS] [UKR] [ENG] [Библиотека] [Ссылки] [Отчёт по поиску] [Автореферат] [ДонНТУ] [Сайт магистров] | ||||