J2ME Mailer - как отправить письмо из мидлета

Введение

На практике ни одно из серьезных j2me приложений (мидлетов) не обходится без предоставления online взаимодействия как со службами поддержки данного j2me приложения, например, его разработчиком, так и с конкретным сервисом, распространяющим данный программный продукт, например, если мидлет является клиентом в клиент-серверной архитектуре данного сервиса.

Чаще всего данное взаимодействие заключается в использовании сторонних средств, таких как: браузер, icq и т.п. как на самом телефоне, так и на персональном компьютере. Но это не всегда удобно для самого пользователя, поскольку приходится переключаться между исходным приложением и подобным сторонним средством.

Поэтому возникла следующая идея.

Постановка задачи

Разработать библиотеку для реализации online взаимодействия j2me приложений с почтовыми серверами по протоколам электронной почты POP и SMTP.

Исследование

На этапе исследования были изучены протоколыSMTP и POP, а также испробовано взаимодействие с почтовыми серверами с использованием telnet. Была подобрана и изучена документация по использованию сокетного соединении в j2me приложениях.

Разработка

Было решено использовать документирование программного кода с помощью javadoc и ведение контроля версий с помощью использованием CVS, в качестве редактора использовать notepad++ 5, а компилятора - WTK 2.5.2

Реализация

Конечным продуктом реализации стала библиотекаborisplus.j2me.mail.jar состоящая из:

  1. borisplus.j2me.mail пакет реализует логику работы протоколов электронной почты POP и SMTP.
    1. Base64 класс реализует шифрование по алгоритму Base64.
    2. MailSocket класс реализует общую логику работы протоколов электронной почты POP и SMTP.
    3. Message класс описывает структуру письма электронной почты.
    4. Pop класс реализует логику работы протокола электронной почты POP.
    5. Smtp класс реализует логику работы протокола электронной почты SMTP.
  2. borisplus.j2me.mail.util пакет содержит дополнительные утилиты для реализации логики работы протоколов электронной почты POP и SMTP.
    1. Parse - Статический метод данного класса GetFirstNumber() используется в классе Pop методом stat(), проверяющим число сообщений (писем) на POP сервере.ВНИМАНИЕ: Шаблон ответа POP сервера может не подойти к заданному для разбора шаблону. (Используемый шаблон предполагает, что первое число, встретившееся в строке ответа POP сервера на команду STAT - это число сообщений в почтовом ящике)

Более подробное описание смотрите вdoc

.

Заключение

Поставленная задача по разработке библиотеки для реализации online взаимодействия j2me приложений с почтовыми серверами по протоколам электронной почты POP и SMTP выполнена. Данная библиотека представлена в файлеborisplus.j2me.mail.jar вместе с документациейborisplus.j2me.mail.doc.jar и doc.rar. Дальнейшим направлением развития является как как тестирование существующего пакета, так его доработка с целью получения уже транслированных электронных писем с POP серверов (построение парсера электронного письма), а так же разработка нового пакета, предоставляющего возможность делать вложения в электронные письма и взаимодействовать с POP и SMTP серверами по SSL.

Благодарность

Хочу поблагодарить администрацию сайта и участников форумаmobilab.ru за проведенные консультации на этапе разработки реализации библиотекиborisplus.j2me.mail, группу разработчиков проекта sourceforge.net/projects/midpsmtp за предоставленный класс шифрованияBase64, а такжеDZR_Gregory за оказанное содействие в текущей разработке.

Примеры использования

В качестве примера использования ниже описана разработка простого мидлета, реализующего формирования и отправку электронного письма, с учетом выставленных настроек SMTP. В начале разработки необходимо поместить borisplus.j2me.jar в директорию lib (или иной classpath), созданного нового проекта YourMailer. Было решено привести листинг двух вариантов реализации отправки электронного письма:

  • Реализация №1: Отправка эл.письма будет внутри отдельного потока выполнения (нити). (данный вариант считается предпочтительным среди опытных разработчиков);
  • Реализация №2: Код отправки эл.письма будет прописан непосредственно в исходном файле мидлета; а также привести пример получения числа писем в почтовом ящике как вариант работы по протоколу POP.

Скачать пример


Borisov V Ilya (job.iBorisPlus[dog]gmail[dot]com) © 2008




Наши соцсети

Подписаться Facebook Подписаться Вконтакте Подписаться Twitter Подписаться Google Подписаться Telegram

Популярное

Ссылки

Новости [1] [2] [3]... Android/ iOS/ J2ME[1] [2] [3]) Android / Архив

Рейтинг@Mail.ru Яндекс.Метрика
MobiLab.ru © 2005-2018
При использовании материалов сайта ссылка на www.mobilab.ru обязательна