На главную

Библиотека Интернет Индустрии I2R.ru

Rambler's Top100

Малобюджетные сайты...

Продвижение веб-сайта...

Контент и авторское право...

Забобрить эту страницу! Забобрить! Блог Библиотека Сайтостроительства на toodoo
  Поиск:   
Рассылки для занятых...»
I2R » И2Р Программы » Программирование » VBasic, VBS

Практические стороны вежливости

Не так давно мне потребовалось разослать резюме в различные кадровые агентства. И всё бы ничего, если бы только этих агентств не было так много. Интересующих меня заведений подобного рода в одной только Москве свыше двух сотен. Как известно из опыта, агенства очень плохо переносят множественную рассылку резюме и, получая сообщения, в которых в поле "To" невооружённым глазом просматриваются ещё с пару десятков их конкурентов, просто оставляют "посылку" без внимания. Поэтому групповая отправка невозможна. Однажды, поговорив с одним из агентов, я услышал фразу "Нужна же элементарная вежливость...". Это и есть причина того, почему не стоит рассылать бомбы на сто адресов одним сообщением. Они обижаются! Ладно, будем делать предложение каждому по отдельности.

Всякому ясно, что непосредственная рассылка их Outlook если и возможна, то потребует нечеловеческого напряжения внимания и всего прочего в том духе: нельзя отправлять два резюме по одному адресу, нельзя никого пропускать, ни в коем случае нельзя оставлять поле "Subj" пустым и т.п. Было решено "час потерять и за пять минут долететь". То есть написать простенькую программку, которая брала бы текстовый файл и отправляла его каждому из адресатов. Поскольку терять даже час не хотелось, то было решено воспользоваться следующей комбинацией: Visual Basic + MAPI Control. Применение этой пары позволяет делать с почтой ( в том числе и с отправкой) почти всё, что необходимо. "Почти" - потому что нельзя, например, каким-нибудь простым способом изменить адрес отправителя: всё только в рамках учётных записей, существующих в Outlook. Но это не так важно для той цели, ради которой я связался с отправкой. Возможны различные сценарии, о которых чуть подробней можно прочитать в "заключении".

Процесс

Итак, Visual Basic запущен. Добавляем на форму компонент Microsoft MAPI Control.

components.gif
Рис 1. Добавление библиотеки компонентов и изменения в "Палитре"

Всё. Большая часть работы сделана. Осталось только разместить нужные компоненты на форме и организовать процесс чтения с диска резюме и его отправки в агентства. О том, как поместить на форму компонент многие, уверен, догадываются. Поэтому, пока что обойдёмся без иллюстраций.

Размышляя над тем, какая информация необходима для отправки, я пришёл к выводу, что минимально необходимы:

  • список адресатов
  • заголовок сообщений
  • имя файла, из которого надо читать текст.

Позже мне пришло в голову устраивать рассылку от имени другого человека (мало ли для чего, вдруг жена-подруга-друг попросят), и я добавил ещё одно поле: "From". Ввиду ряда ограничений MAPI Control 6.0 это поле пока что не задействовано, но если уж потребуется когда-нибудь рассылать резюме для кого-то, то я уж расстараюсь, но это всё отступления. Итак, форма создана. На рис 2. показан её общий вид:

mainform.gif
Рис 2. Общий вид главной формы для рассылки резюме по многим адресам

Неприметный жёлтый конвертик справа внизу - кнопка "отправить", а отступ слева - место для логотипа. Это я к тому, что дарю идею нового суперпродукта.:)

Раньше уже было сказано, что терять время на написание чего-то подобного очень жалко, поэтому я обошёлся без излишеств, создав один-единственный обработчик. А именно обработчик события Click того самого "жёлтого конвертика".

Внутри обработчика находится код для:

  • получения адресов назначения
  • чтения файла с резюме
  • работы с MAPI, для непосредственной отправки резюме

Код для получения списка адресов "думает", что каждый адрес отделён от другого символом ";", а кроме того, самый последний адрес списка также имеет ";" после себя. Это некоторое упрощение ничем не может помешать в столь простой задаче, поэтому и код был очень прост:

Листинг 1. Код разбора адресов получателей

Дальше требовалось прочитать резюме. Хорошая, коммерческая программа обязана поддерживать огромное количество форматов документов, но для такого случая как мой, было достаточно и текстового файла. Поэтому в коде просто открывается текстовый файл и все данные из него помещаются в строковую переменную:

Листинг 2. Чтение текстового файла с резюме

Из пояснений необходимо лишь сказать, что "Text4" - имя TextBox, стоящего справа от слова "File".

Ну и, наконец, собственно отправка:

Листинг 3. Отправка сообщения всем адресатам из списка по очереди

Здесь MAPISession1 и MAPIMessages1 - имена элементов управления, находящихся на форме.

Что получилось

После того, как весь код обработчика написан, можно смело копировать в поле "To" адреса получателей, указывать Subj, говорить, из какого файла добывать резюме и жать на конверт. MAPI отправит сообщения в очередь исходящих программы почты по умолчанию. Вот, как это выглядит:

mymail.gif
Рис 3. Вид папки "Исходящие" Outlook Express

И теперь достаточно лишь нажать F5, чтобы каждый из рекрутеров получил свою порцию внимания. С MAPI вежливым быть очень просто.

Заключение

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

Кулешов
Софтерра

Другие разделы
C, C++
Java
PHP
VBasic, VBS
Delphi и Pascal
Новое в разделе
Базы данных
Общие вопросы
Теория программирования и алгоритмы
JavaScript и DHTML
Perl
Python
Active Server Pages
Программирование под Windows
I2R-Журналы
I2R Business
I2R Web Creation
I2R Computer
рассылки библиотеки +
И2Р Программы
Всё о Windows
Программирование
Софт
Мир Linux
Галерея Попова
Каталог I2R
Партнеры
Amicus Studio
NunDesign
Горящие путевки, идеи путешествийMegaTIS.Ru

2000-2008 г.   
Все авторские права соблюдены.
Rambler's Top100