r9 - 31 Aug 2005 - 08:32:36 - SodzOYou are here: TWiki >  Clearmail Web > Plugin

Средства автоматизации для клиента Outlook Express

Предмет разработки: Plug-in -- это средство в e-mail клиенте для автоматизации процесса жалобы клиента на нежелательные письма.

Место модуля в проекте: Клиентская часть.

Требование к окружению: Необходимая ОС -- Windows, тип почтового клиента -- Outlook Express.

Функциональность: На клиентской машине будет установлен некий plug-in. Его основной задачей будет облегчить "процедуру жалобы" для конечного пользователя. Достигается это тем, что замещается функция "Forward As Attachment", а именно, при нажатии на кнопку "Forward As Attachment" (в выпадающем меню или через меню Outlook Express), создается новое письмо с заполненными полями To, Subject, с вложенными письмами, которые до этого были отмечены пользователем, и предоставляется пользователю возможность нажать Send или сразу отправляется письмо (в зависимости от настроек пользователя). Предусмотрены настройки:

  • отправлять сообщение-жалобу, показывая или не показвая ее содержимого
  • сохранение/удаление писем после отправки или спрашивать действий от пользователя

Состав модуля: невидимая форма, завернутая в tray; форма-меню настроек; dll-файл - помогающий отслеживать события Outlook Express.

Состав и тип установочного пакета: самораскрывающийся exe файл.

Состав документации: руководство пользователя.

Организация взаимодействия с пользователем: установка автоматическая, возможность изменения настроек и работы plug-in'а

Организация взаимодействия с другими модулями системы: Отсылка сообщений (жалоб) по почте в нужном формате

Средства для реализации модуля: VBA и C++

Состояние на текущий момент: Разработана первая версия программы, есть возможность протестировать. Плагин включен в общий пакет установки. Файлы плагина находятся в cvs на revenge
/cvs/clearmail/plugins/OEPlugin/Release/test.exe - собственно плагин
/cvs/clearmail/plugins/OEPlugin/Release/whook.dll - отлавливание событий OE
Эти файлы должны быть в одном каталоге.
Для корректной работы необходимо зарегестрироваться на сервере clearmail с помощью регистрационного клиента, включенного в пакет install:
/cvs/clearmail/projects/registry/installer/install.exe - с помощью него можно установить и плагин
Здесь НЕ обязательно ставить все плагины (для The Bat и для MSOutlook)
Исходники програм лежат там же в cvs:
/cvs/clearmail/plugins/OEPlugin/OEPluginSource

Описание работы: При запуске test.exe в tray появляется иконка плагина. При нажатии правой кнопкой, появляется контекстное меню с пока еще 2-я возможностями:

  • Отправлять жалобы без участия пользователя (Автоматический Send)
  • Автоматическое удаление писем
  • Отключить/Включить действие плагина не закрывая программы
  • Выйти из программы совсем
Пользователю необходимо отметить письма, на которые он хочет пожаловаться нажать на них правой кнопкой и из контекстного меню выбрать Forward As Attachment или зайти в меню Message -> Forward As Attachment. Когда действия плагина включены, то возможности кнопки Forward As Attachment дополняются новыми: при нажатии появляется окно нового письма, в котором уже заполнены поля To и Subject, а в приложении к письму находятся отмеченые пользователем письма. Остается только нажать кнопку Send.

Интересные нововведения и сложности:

  • В начале плагин разрабатывался на VBA, потом был переведен на C++
  • Сначала для автоматического Send-а использовалось программное нажатие мышки, потом Ctrl+Enter
  • Для автоматического удаления писем был добавлен еще один hook, который отлавливает описание закрывшегося окна перед его уничтожением
  • Для передачи данных между процессами использовалась WM_COPYDATA
  • Еще куча всяких флагов для отсеивания ненужных событий и действий пользователя
  • После отлючения действий плагина dll, следящая за сообщениями в Windows, автоматически выгружается - что не дает проецировать ее на лишние процессы
  • Для корректного скрытия контекстного меню программы использется SetForegroundWindow
  • Для нахождения параметров отсылки письма используется реестр, который заполняется инсталятором плагинов

Планы дальнейшей разработки: Возможен другой подход к работе плагина через COM и др.

Информация к размышлению и разработке:

-- SodzO - 14 Jul 2005

-- SodzO - 27 Jul 2005

-- SodzO - 12 Aug 2005

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r9 < r8 < r7 < r6 < r5 | More topic actions
Clearmail.Plugin moved from Nadmin.Plugin on 06 May 2004 - 14:57 by Yury Shevchuk - put it back
 
Powered by TWiki

This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback