Данная обработка 1С «Проверка mail.ru», которую можно скачать ниже, предназначена для верификации e-mail адресов для домена mail.ru. Такой функционал может пригодиться для актуализации контактов пользователей, либо для групповой рассылки на существующие адреса электронной почты коммерческих предложений. Но в первую очередь эта обработка 1С была создана для демонстрации функционирования COM-объекта на базе Internet Explorer.
В этой статье разберём следующие вопросы:
- Как получить текст HTML-страницы?
- Как отправить POST-запрос?
- Как обратиться к элементу формы и установить в нём значение?
- Как осуществить навигацию на конкретный URL адрес и дождаться загрузки страницы?
Алгоритм
Обработка имеет следующий алгоритм верификации электронных адресов:
1. Создаём COM-объект InternetExplorer.Application
2. Парсим e-mail адрес на составляющие его логин и домен
3. Осуществляем навигацию на страницу восстановления пароля: https://e.mail.ru/cgi-bin/passremind
4. Заполняем значения элементов нужной нам HTML-формы
5. На странице в браузере осуществляем нажатие на кнопку «Восстановить»
6. Возвращаем текст полученной в результате перехода HTML-страницы
7. Ищем в тексте признак существования или отсутствия электронного ящика (выполняем валидацию).
Функции и процедуры
Разберём используемые в обработке 1С функции подробнее:
1. ВыполнитьВалидацию(ТабMail) — Основная процедура для валидации, которая перебирает адреса табличной части.
2. ВыполнитьIEЗапрос(СтруктураОбъектов, СтруктураMail) – Функция получает текст итоговой HTML-страницы.
3. ВернутьСтатусВалидации(СтруктураMail, ТекстСтраницы) – На основании полученного текста страницы верифицируем e-mail адрес.
4. ВыполнитьПерезагрузку(СтруктураОбъектов, Старт = Неопределено) – Процедура закрывает или создаёт нужные COM-объекты.
5. ПолучитьAppIE() – Функция создаёт новый COM-объект InternetExplorer.Application.
6. ЗакрытьAppIE(appIE) – Процедура закрывает COM-объект InternetExplorer.Application.
7. ОжиданиеЗагрузки(СтруктураОбъектов) – Процедура ожидает загрузку страницы в браузере.
8. ПолучитьФормуHTML(objDoc, ИндексФормы) – Получает форму HTML-документа по её индексу.
9. ЗаполнитьПараметрыPOST(objForm, ПараметрыПОСТ) –Процедура заполняет значения элементов HTML-формы.
10. ВернутьТекстHTMLДокумента(htmlDoc) – Функция возвращает текст HTML-документа.
11. НайтиСтр(Стр, ПодстрокаПоиска, ИндексСимвола = 1, Ограничитель = «») – Функция поиска текста выделяет подстроку символов, начиная с заданного символа, по подстроке поиска.
12. ПарситьEMail(Стр) – Функция возвращает структуру e-mail адреса.
13. СобратьEMail(СтруктураMail) – Собирает e-mail адрес из составляющих его частей.
14. Спать(Время, IDПроцесса = Неопределено) – Процедура создания скрипта для обеспечения задержки в миллисекундах.
Тестирование
Проведём тестирование данной обработки 1С. Для этого загрузим тестовые данные из файла «Адреса» (см. архив с обработкой).
Затем просто нажимаем на кнопку «Выполнить».
Запускается приложение Internet Explorer и визуально осуществляется процесс валидации.
В итоге получаем следующий результат (следующие статусы валидации).
ч. т. д.
Свежие комментарии