Три отдельных проекта различают отключённый способ, отправку по заданным параметрам и стандартный сервис. Режим OAuth2 исследуем отдельно: значение Использовать не выдаёт токен.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
В отдельной учебной базе 8.5.1.1343 создайте серверный общий модуль УчебныеЗадачи. Фрагмент вставьте внутрь ВыполнитьПример() Экспорт и вызовите своей учебной командой.
Во всех задачах Новый НастройкиВосстановленияПароля создаёт собственный объект в памяти. Код не устанавливает дополнительные параметры информационной базы и не запускает восстановление пароля.
Не подставляйте реальные SMTP-пароли, OAuth-токены, адреса сотрудников и рабочие ссылки. example.invalid — учебный адрес, не настроенный почтовый сервер.
Каждый пример выполняйте отдельно. Вывод и свойства проверяются в сообщениях/отладчике; доставки письма, изменения пароля и открытия сайта не будет.
Проект = Новый НастройкиВосстановленияПароля;
Проект.СпособВосстановленияПароля = СпособВосстановленияПароляПользователяИнформационнойБазы.Нет;
ПоПараметрам = Новый НастройкиВосстановленияПароля;
ПоПараметрам.СпособВосстановленияПароля = СпособВосстановленияПароляПользователяИнформационнойБазы.ОтправкаКодаПодтвержденияПоЗаданнымПараметрам;
Стандартный = Новый НастройкиВосстановленияПароля;
Стандартный.СпособВосстановленияПароля = СпособВосстановленияПароляПользователяИнформационнойБазы.ОтправкаКодаПодтвержденияЧерезСтандартныйСервис;
ПоПараметрам.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.Использовать;
ПоПараметрам.ТокенДоступа = "";
ПоПараметрам.ПарольSMTP = "";
Сообщить(Проект.СпособВосстановленияПароля <> ПоПараметрам.СпособВосстановленияПароля);
Сообщить(ПоПараметрам.СпособВосстановленияПароля <> Стандартный.СпособВосстановленияПароля);
Сообщить(ПоПараметрам.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.Использовать);
Сообщить(ПоПараметрам.ТокенДоступа = "");
Сообщить(ПоПараметрам.ПарольSMTP = "");Разбор по шагам
Конструктор вызывается для каждого отдельного проекта; действующий параметр информационной базы не читается и не устанавливается.
ОтправкаКодаПодтвержденияПоЗаданнымПараметрам использует параметры заданного сервиса; ЧерезСтандартныйСервис — другой способ, не синоним этой настройки SMTP.
Присваиваем режим токенной аутентификации только локальному объекту. Секретные строки остаются пустыми.
Проверяем различие способов и пустоту секретов. В примере нет получения токена, проверки логина и отправки запроса.
Как проверить результат
Пять сравнений Истина. Использовать и пустой ТокенДоступа сосуществуют в локальном проекте — авторизация не произошла.
Три способа представлены разными значениями перечисления, а не одинаковой строкой имени сервиса.
Ожидаемый результат
Разделены способ восстановления, режим SMTP-аутентификации и фактическое выполнение.
На что обратить внимание
Неприменённый проект с пустыми секретами не является готовой рабочей настройкой.
Не предполагайте успешную доставку через стандартный сервис по одному значению свойства.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.