Проверка e-mail адресов через Internet Explorer с помощью COM-объекта

Данная обработка 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 и визуально осуществляется процесс валидации.


В итоге получаем следующий результат (следующие статусы валидации).


ч. т. д.

Скачать