А.Ю. Гончаров Access 2003 (960524), страница 46
Текст из файла (страница 46)
Для отладкиpismo.Send ' Отправка письмаМе!Поле93 - "РАССЫЛКА"Ме!Поле93.ВаскСо1ог = RGB(0, 250, 0)End If' Интервал ожиданияPauseTime = pauza ' Установка величины паузыStart = Timer' Текущее значение таймераDo While Timer < Start + PauseTime And Me!Check34 ' Цикл ожиданиеDoEvents' Позволяется работать другим процессамLoopLoopПример базы данных рассылки почты267Нв!Поле93 = "ОСТАНОВ"Ме!Поле93.ВаскСо1ог = RGB(200, 200, 200)tablica.Close 'Закрытие таблицыОбработка ошибкиExit_Otpravlt_Click:prog.QuitExit SubErrJ)tpravit_Click:MsgBox Err.Description ' Сообщение об ошибкеResume Exit_Otpravit_ClickEnd SubПосле определения имен и типов переменных (оператор Dim) происходит считывание параметров из формы.dopfile — путь к присоединенному файлу,pauza — величина задержки для таймера.Copies - количество адресов получателей в одном письме.С помощью функции Openflecordsetf) из таблицы Таблиц а Адреса выбираютсятолько те записи, где установлено поле Да.Основной цикл работает, пока в форме установлен флажок «Можно работать»и переменная Копес имеет значение False.
Это позволяет использовать цикл типаDo W h i l e и выполнять в нем любые команды Visual Basic. Это, на мой взгляд,хорошая альтернатива рекомендуемому в руководствах циклу For Each (которыйхорош только в тех случаях, когда внутри цикла находится небольшое числостандартных операторов).Но в этом случае программа плохо обрабатывает конец таблицы. Когда выбрана последняя запись и используется метод MoveNext, Access не детектирует ошибку, а последняя запись остается текущей (свойство RecordCount не изменяет своезначение и не позволяет отследить этот момент).
Для того чтобы в программе невозникала ошибка, необходимо установить специальный флаг, когда выбираетсяпоследняя запись. В данной процедуре это сделано с использованием логическойпеременной Копес. Роль счетчика записей в этом случае выполняет переменнаяzapis.Электронное послание формируется как объектная переменная pismo. Из формыв нее копируется (с помощью соответствующих свойств) текст письма (pismo. Body),тема письма (pismo. Subject) и присоединенный файл {pismo. Attachments. Add).
С помощью метода Display электронное письмо можно даже открыть в отдельном окнедля просмотра, но я рекомендую делать это только на этапе отладки.268Глава ЛДля того чтобы в одном письме указать несколько получателей, используетсяцикл For 1 = 1 То portion.Когда очередной электронный адрес использован, в текущей записи с помощью методов Edit и Update в поле flag записывается единица.Объект формы ПолеЭЗ служит индикатором работы программы. В него записывается слово «РАССЫЛКА» и с помощью свойства BackColor создается зеленыйцвет(ВСВ(0, 250, 0)) фона.Программа Outlook представлена в виде объектной переменной prog. В концерассылки связь с Outlook прерывается с помощью метода Quit.11.7.
Настройка Microsoft Outlook для отправкиписемДля того чтобы программа Outlook могла отсылать письма, надо настроитьучетную запись электронной почты. Для этого надо.Выбрать команду Сервис =э Учетные записи электронной почты.В окне выбрать «Добавить новую учетную запись» и нажать кнопк> Далее.Выбрать тип сервера и нажать кнопку Далее.Заполнить поля,'как показано на рис. 11.12 (для адреса firma_info@x203.
ru).Для проверки качества соединения надо нажать кнопку Проверка учетнойзаписи. После этого в окне «Проверка настройки учетной записи» наблюдатьпрохождение тестовых задач (рис. 11.13). Если работа с почтовым сервером оказалась успешной, в окне появляются зеленые галочки, а потом выводитсянадпись «Поздравляем! Все проверки выполнены успешно. Нажмите кнопкуЗакрыть», Для нас главным тестом является отправка специального тестового сообщения; если оно отправлено успешно, наша программа тоже будет работать.Теперь надо настроить режим отправки почты. Outlook может сразу отправлять письма, по мере их формирования, а может накапливать их в папкеИсходящие, а отправлять по команде Доставить.
Какой вариант выбрать, зависит от конкретных условий, например наличия постоянного соединения с Интернетом.Можно выбрать команду Сервис г^> Параметры, открыть вкладку Настройкапочты и установить или сбросить флажок «Немедленная отправка при наличииподключения».1.2.3.4.Пример базы данных рассылки почты269Учетные записи электронной почтыНастройки электронной почты Интернета(РОРЗ)Каждый из этих параметре* является обязательным для правильной работы учетнойзаписи >лектронной почты,Сведения о пользователеСведения о сервереВеедитеимя:FIRMAСервер входящей почты (РОРЗ):рорЗ,x203.ruАдрес глектроннойпочты:fjrmajnroi.fr.203, г иСервер исходящей почты (SMTP):рорЭ.хгоз.гиFirmajnfoПосле заполнения сведении е данноп окнежелательно проверить учетную запись, нажав'кнопку снизу (требуется подключение к сети).Параметры проверкиВкод в системуПользователь:Пароль:0 Запомнить парольПроверка учетной записи...Вход с защищенномподтверждением пароля (SPA)[Другие наРис.
11.12. Настройка учетной записиПроверил настройки учетной записиПоздравляем1 Все проверни выполнены успешно. Нажмите кнопку"Закрыть".Задачи ; Ошибки1Задачи•X Установка сетевого подключения•*/ Поиск сервера исходящей потгы (SMTP]V Поиск сервера входящей почты (РОРЗ]\/ Вход на сервер входящей почты (РОРЗ]I •ч/ Отправка тестового электронного сообщения,,,СостояниеЗавершенаЗавершенаЗавершенаЗавершенаЗавершенаРис.
11.13. Проверка соединения с почтовым серверомМожно самостоятельно создать тестовое письмо и нажать кнопку Отправить,В папке Исходящие должно появиться новое письмо (это обычно видно на панели слева), a Outlook должен начать процедуру отправки. Если появится окнос приглашением ввести пароль, то надо ввести пароль и заодно можно установитьфлажок «Сохранить пароль» (когда отправляемых писем много, вводить паролькаждый раз неудобно).Глава 1127011.8.
Рассылка почтыПосле нажатия кнопки Отправить письма в форме Access начинается процедура рассылки. В Outlook встроена защита от вирусов, которую невозможноотключить (ее нет только в Outlook 97), поэтому, котда Access пытается отправитьписьмо, на экран вначале выводится окно с запросом разрешения работы(рис. 11.14). Максимальный период, на который дается разрешение, составляетдесять минут, но этого достаточно для многих задач. Например, если в каждомписьме указано 10 адресатов, а интервал ожидания в процедуре Access составляет30 секунд, то за десять минут можно разослать 200 писем.Microsoft Office OullookПрограмма пытается получить доступ к адресамэлектронной почты, хранящимся е Outlook,Разрешить это действие?Возможно, это свидетельствует о наличии вируса, иследует выбрать ответ "Нет".0 Разрешите доступ наДа| |Нет-10 минут| |vСправкаРис.
11.14. Окно для разрешения рассылкиПосле этого выводится еще одно окно, в котором создается задержка на пятьсекунд, после чего пользователь должен нажать кнопку Да, чтобы разрешить отправку./АПрограмма пытается автоматически отправитьt \ сообщение от вашеги имени,—"^ Разрешить это действие?Возможно, эта свидетельствует о наличии вируса, иследует выбрать ответ "Нет".Рис. 11.15. В этом окне надо нажать кнопкуДа, когда полоска дойдет до концаТеперь все «формальности» улажены и Outlook может начать рассылку писем.Значит, самое время откинуться в кресле и насладиться работой базы данных.ИЗДАТЕЛЬСТВО«Old КУДИи-ОБРАЗ»Твл.: (095) 333-82-11; ok@kudils.ru, http:/|wwvu.kudits.ru/puhlishКНИГИВ ПРОДАЖЕAutoCAD 2002/2002 LT/2000.
Справочник команд. Россоловский А.720с. 2002г. Опт. цена 220 р.C++ & Visual Studio. NET. Самоучитель программиста. Баженова И.1О.448 с., 2003 г. Опт. цена 132 р.СП. Визуальное проектирование приложений. Фролов А„ Фролов Г.512*с. 2003г. Опт. цена 220 р.Delphi 7. Самоучитель. Климова Л.М.480 с.
2004 г. Опт. цена 124,3 р.Небезопасность. Стоит ли рисковать корпорацией? Маккарти Л. Пер. с англ.208 с. 2004 г. Опт. цена 110 р.Java: основы Web-служб. 'Гост Андре. Пер. с англ.464 с- 2004 г. Опт.'цена 143 р..Net Framework: Библиотека классов. Темплман Дж., Вттер Д.672 с. 2003 г. Опт. цена 298,1 р.Pascal 7.0. Основы практического программировании. Решение типовых пня ч. Климова Л.М.528 с. 2000 г. Опт. цена 105,6 р.Photoshop CS: технология работы. Сканирование, ретушь. Божко А.Н.624 с. 2004 г. Опт. цена 176 р.Sendmail: настройка и оптимизация. Кристенсон Ник. Пер.
с англ.272 с. 2004 г. Опт. цена 110 р.Web-дизайн: Photoshop & Dreamweaver. 3 ключевых этапа. Смит Колин. Пер. с англ.264с. 2004г. Опт.цена 99р.Безопасность: технологии, средства, услуги. Барсуков В.С.500 с., 2001 г.. Опт. цена 99 рБренд и н г -Дорога к мировому рынку. Анколд Симон. Пер. с англ.272с. 2004г.