После перехода нашей компании на GMail, стало как-то не удобно держать открытыми в разных вкладках разные аккаунты. Решил посмотреть в сторону проверщиков почты, но как всегда оказалось, что написано всего валом, а выбрать не из чего. Где деньги просят, где функционал не тот. В общем решил написать свой. Тем более, что библиотек для работы с e-mail в целом и для GMail в частности ассортимент приличный.
После долгих проб различных фреймворков и разнообразных фасадов встала проблема с работой через прокси. Впрочем, как обычно. Вдумчивое гугление не помогло. Ничего интересного не нашлось. Отчаявшись, решил полазить по Google-code. И кто бы мог подумать, что пройдя по трем ссылкам я нашел отличнейшую библиотечку (кто бы мог подумать!!!) для работы с GMail. Называется она gmail4j и находится она здесь. Там есть все: и примеры, и исходники.
Эта библиотека предоставляет широчайший выбор как протоколов доступа так и механизмов аутентификации.
Лично я предпочел проверку через RSS.
Код простой и понятный
//Создаем соединение
HttpGmailConnectionconn = new HttpGmailConnection("Login","Pass".toCharArray());
//Указываем данные прокси
conn.setProxy(proxyHost,proxyPort);
conn.setProxyCredentials(proxyLogin, proxyPass.toCharArray());
//Создаем клиента
GmailClient client = new RssGmailClient();
client.setConnection(conn);
client.setConnection(conn);
// Получаем непрочитанные сообщения
List msg = client.getUnreadMessages();
Теперь сообщения.
Из списка, любым желаемым методом извлекаем сообщение.
//Допустим извлекли
GmailMessage m;
// Получем отправителя и тему
String from = m.getFrom().getEmail();String title = m.getSubject();
И это далеко не все. Даже в случае с rss можно получить и тело сообщения, но отметить его прочитанным не получится.
Ну и хотелось бы заметить что еще нужны следующие библиотеки:
commons-codec-1.4.jar
commons-httpclient-3.1.jar
commons-logging-1.1.1.jar
jdom.jar
mail.jar
rome-0.9.jar
Немає коментарів:
Дописати коментар