МенеджерДополнительныхНастроекАутентификации.ПолучитьНастройкиАутентификацииЧерезЭлектроннуюПочту

Методы · GetEmailAuthenticationSettings

Получает настройки аутентификации через электронную почту.

Синтаксис

ПолучитьНастройкиАутентификацииЧерезЭлектроннуюПочту()
Полное описание, параметры и ограничения

МенеджерДополнительныхНастроекАутентификации.ПолучитьНастройкиАутентификацииЧерезЭлектроннуюПочту (AdditionalAuthenticationSettingsManager.GetEmailAuthenticationSettings)

МенеджерДополнительныхНастроекАутентификации (AdditionalAuthenticationSettingsManager)

ПолучитьНастройкиАутентификацииЧерезЭлектроннуюПочту (GetEmailAuthenticationSettings)

Доступен, начиная с версии 8.3.27.

Синтаксис:
ПолучитьНастройкиАутентификацииЧерезЭлектроннуюПочту()
Возвращаемое значение:
Тип: НастройкиАутентификацииЧерезЭлектроннуюПочту.

Описание:

Получает настройки аутентификации через электронную почту.

Доступность:

Сервер, толстый клиент.

См. также:
МенеджерДополнительныхНастроекАутентификации, метод ПолучитьНастройкиВосстановленияПароля

Использование в версии:

Доступен, начиная с версии 8.3.27.

Методическая информация

Практические примеры

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

Свой восьмизначный цифровой формат используем только для арифметики: считаем число строк, проверяем диапазоны и переводим секунды в минуты. Код подтверждения не генерируем.

Где и как запускать

Полный серверный общий модуль отдельной пустой УчебнаяКонфигурацияСинтаксиса. Только черновик в памяти; установка настроек и отправка отсутствуют.

Подготовка

  1. Создайте отдельную пустую учебную конфигурацию с именем УчебнаяКонфигурацияСинтаксиса на 8.5.1.1343. Рабочая база и копия с действующими почтовыми секретами для этого урока не подходят.

  2. Добавьте серверный общий модуль УчебнаяАутентификацияПочты: Сервер = Истина. Вставьте полный модуль одного урока, не только тело процедуры.

  3. Своей серверной командой вызовите УчебнаяАутентификацияПочты.ВыполнитьПример(). Нужны права для чтения дополнительных настроек; код не включает привилегированный режим.

  4. У типа нет конструктора Новый. Объект получаем штатным методом менеджера в своей пустой учебной базе и сразу заменяем все 18 свойств собственными значениями.

  5. Доступ к менеджеру идёт через ДополнительныеНастройкиАутентификации. Ни один урок не вызывает УстановитьНастройкиАутентификацииЧерезЭлектроннуюПочту, не применяет черновик и не отправляет письмо.

  6. Адреса используют example.invalid, пароль и токен — явно фиктивные учебные строки. Не подставляйте сюда действующие логины, пароли, токены или почтовые адреса.

  7. В сообщения выводятся только проверки и собственные арифметические значения. Исходные значения настроек, пароли, токены и содержимое реальных писем не выводятся.

  8. Это настройки почтовой аутентификации пользователей приложения, не обычный профиль отправки документов через ИнтернетПочта.

  9. Запуск в 1С не проверен. Доставка, OAuth, TLS, права и фактическая аутентификация этим упражнением не тестируются.

Функция ПолучитьСобственныйЧерновик()
    Настройки = ДополнительныеНастройкиАутентификации.ПолучитьНастройкиАутентификацииЧерезЭлектроннуюПочту();
    Настройки.СпособАутентификацииЧерезЭлектроннуюПочту = СпособАутентификацииЧерезЭлектроннуюПочту.Нет;
    Настройки.АдресСервераSMTP = "smtp.example.invalid";
    Настройки.ПортSMTP = 465;
    Настройки.ИспользоватьSSL = Истина;
    Настройки.ПользовательSMTP = "guide-login";
    Настройки.ПарольSMTP = "GUIDE-NOT-A-PASSWORD";
    Настройки.ТокенДоступа = "";
    Настройки.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.НеИспользовать;
    Настройки.ТолькоЗащищеннаяАутентификацияSMTP = Ложь;
    Настройки.Отправитель = "guide@example.invalid";
    Настройки.ИмяОтправителя = "Учебное приложение";
    Настройки.Заголовок = "Subject: Guide training only" + Символы.ВК + Символы.ПС;
    Настройки.АлфавитКодаПодтверждения = "0123456789";
    Настройки.ДлинаКодаПодтверждения = 8;
    Настройки.СрокДействияКодаПодтверждения = 600;
    Настройки.МаксимальноеКоличествоНеуспешныхПопытокПроверкиКодаПодтверждения = 3;
    Настройки.ДлительностьБлокировкиЗапросаОбновленияКодаПодтверждения = 60;
    Настройки.ТекстСообщенияHTML = "<p>&UserPresentation, учебный код: <strong>&VerificationCode</strong></p><p>&ApplicationPresentation</p>";
    Возврат Настройки;
КонецФункции

Процедура ВыполнитьПример() Экспорт
    Настройки = ПолучитьСобственныйЧерновик();
    Сообщить(Настройки.ДлинаКодаПодтверждения = 8);
    Сообщить(СтрДлина(Настройки.АлфавитКодаПодтверждения) = 10);
    КоличествоВариантов = 1;
    Для Позиция = 1 По Настройки.ДлинаКодаПодтверждения Цикл
        КоличествоВариантов = КоличествоВариантов * СтрДлина(Настройки.АлфавитКодаПодтверждения);
    КонецЦикла;
    Сообщить(КоличествоВариантов = 100000000);
    Сообщить(Настройки.СрокДействияКодаПодтверждения / 60 = 10);
    Сообщить(Настройки.ДлительностьБлокировкиЗапросаОбновленияКодаПодтверждения = 60);
    Сообщить(Настройки.МаксимальноеКоличествоНеуспешныхПопытокПроверкиКодаПодтверждения = 3);
    Сообщить(Настройки.ДлинаКодаПодтверждения >= 4 И Настройки.ДлинаКодаПодтверждения <= 50);
    Сообщить(Настройки.ДлительностьБлокировкиЗапросаОбновленияКодаПодтверждения >= 30);
КонецПроцедуры

Разбор по шагам

  1. Алфавит содержит десять различных цифр. Пустой алфавит по справке тоже означает цифры 0…9; длина непустого алфавита ограничена 256 символами и требует минимум десять разных символов.

  2. Длина кода допустима от 4 до 50. Собственное значение 8 не объявляем универсальной политикой защиты приложения.

  3. Восемь позиций по десять вариантов дают 100000000 строк, включая строки с ведущими нулями. Это арифметика, не проверка генератора платформы.

  4. СрокДействияКодаПодтверждения 600 измеряется в секундах — десять минут, а не 600 минут.

  5. Блокировка запроса нового кода 60 секунд и максимум три ошибочных проверки — разные ограничения, ни одно не означает блокировку учётной записи на минуту.

  6. Собственный черновик не устанавливается, поэтому настоящие лимиты и отправка не меняются.

Как проверить результат

  1. Ожидаются восемь Истина. Собственная арифметика: 10 вариантов × 8 позиций = 100000000 строк; 600 / 60 = 10 минут.

  2. Сверьте диапазоны в справке: срок и попытки от 1, блокировка повторного запроса от 30. Не путайте проверку чисел с реальным тестом защитных механизмов.

Ожидаемый результат

На конкретных числах разделены формат кода, срок, частота повторной отправки и число ошибок.

На что обратить внимание

  1. СтрДлина произвольного алфавита не считает различные символы. Здесь используется известная строка 0123456789 без дублей.

  2. Количество строк само по себе не доказывает стойкость или случайность настоящих кодов.

  3. Не используйте учебные константы как готовую политику безопасности без требований своего приложения.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Разделить фиктивный OAuth-токен и пароль SMTP в черновиках

Настройки почтовой аутентификации используют OAuth для SMTP. Разбираем два режима на фиктивных значениях, не получая настоящий токен и не проверяя подключение.

Где и как запускать

Полный серверный общий модуль отдельной пустой УчебнаяКонфигурацияСинтаксиса. Только черновик в памяти; установка настроек и отправка отсутствуют.

Подготовка

  1. Создайте отдельную пустую учебную конфигурацию с именем УчебнаяКонфигурацияСинтаксиса на 8.5.1.1343. Рабочая база и копия с действующими почтовыми секретами для этого урока не подходят.

  2. Добавьте серверный общий модуль УчебнаяАутентификацияПочты: Сервер = Истина. Вставьте полный модуль одного урока, не только тело процедуры.

  3. Своей серверной командой вызовите УчебнаяАутентификацияПочты.ВыполнитьПример(). Нужны права для чтения дополнительных настроек; код не включает привилегированный режим.

  4. У типа нет конструктора Новый. Объект получаем штатным методом менеджера в своей пустой учебной базе и сразу заменяем все 18 свойств собственными значениями.

  5. Доступ к менеджеру идёт через ДополнительныеНастройкиАутентификации. Ни один урок не вызывает УстановитьНастройкиАутентификацииЧерезЭлектроннуюПочту, не применяет черновик и не отправляет письмо.

  6. Адреса используют example.invalid, пароль и токен — явно фиктивные учебные строки. Не подставляйте сюда действующие логины, пароли, токены или почтовые адреса.

  7. В сообщения выводятся только проверки и собственные арифметические значения. Исходные значения настроек, пароли, токены и содержимое реальных писем не выводятся.

  8. Это настройки почтовой аутентификации пользователей приложения, не обычный профиль отправки документов через ИнтернетПочта.

  9. Запуск в 1С не проверен. Доставка, OAuth, TLS, права и фактическая аутентификация этим упражнением не тестируются.

Функция ПолучитьСобственныйЧерновик()
    Настройки = ДополнительныеНастройкиАутентификации.ПолучитьНастройкиАутентификацииЧерезЭлектроннуюПочту();
    Настройки.СпособАутентификацииЧерезЭлектроннуюПочту = СпособАутентификацииЧерезЭлектроннуюПочту.Нет;
    Настройки.АдресСервераSMTP = "smtp.example.invalid";
    Настройки.ПортSMTP = 465;
    Настройки.ИспользоватьSSL = Истина;
    Настройки.ПользовательSMTP = "guide-login";
    Настройки.ПарольSMTP = "GUIDE-NOT-A-PASSWORD";
    Настройки.ТокенДоступа = "";
    Настройки.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.НеИспользовать;
    Настройки.ТолькоЗащищеннаяАутентификацияSMTP = Ложь;
    Настройки.Отправитель = "guide@example.invalid";
    Настройки.ИмяОтправителя = "Учебное приложение";
    Настройки.Заголовок = "Subject: Guide training only" + Символы.ВК + Символы.ПС;
    Настройки.АлфавитКодаПодтверждения = "0123456789";
    Настройки.ДлинаКодаПодтверждения = 8;
    Настройки.СрокДействияКодаПодтверждения = 600;
    Настройки.МаксимальноеКоличествоНеуспешныхПопытокПроверкиКодаПодтверждения = 3;
    Настройки.ДлительностьБлокировкиЗапросаОбновленияКодаПодтверждения = 60;
    Настройки.ТекстСообщенияHTML = "<p>&UserPresentation, учебный код: <strong>&VerificationCode</strong></p><p>&ApplicationPresentation</p>";
    Возврат Настройки;
КонецФункции

Процедура ВыполнитьПример() Экспорт
    Настройки = ПолучитьСобственныйЧерновик();
    Настройки.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.Использовать;
    Настройки.ТокенДоступа = "GUIDE-NOT-A-REAL-TOKEN";
    Настройки.ПарольSMTP = "";
    Сообщить(Настройки.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.Использовать);
    Сообщить(СтрДлина(Настройки.ТокенДоступа) > 0);
    Сообщить(Настройки.ПарольSMTP = "");
    Настройки.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.НеИспользовать;
    Настройки.ТокенДоступа = "";
    Настройки.ПарольSMTP = "GUIDE-NOT-A-PASSWORD";
    Сообщить(Настройки.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.НеИспользовать);
    Сообщить(Настройки.ТокенДоступа = "");
    Сообщить(СтрДлина(Настройки.ПарольSMTP) > 0);
КонецПроцедуры

Разбор по шагам

  1. Получаем собственный черновик и выбираем явный Использовать вместо автоматического определения.

  2. Токен и пароль — разные свойства. В первом состоянии пароль пуст, а токен явно фиктивен.

  3. Во втором состоянии отключаем использование токена, очищаем его и задаём ASCII-пароль учебного образца.

  4. Тип относится к SMTP-почтовой аутентификации приложения. Не переносим сюда объяснение про IMAP из другого ИнтернетПочтовыйПрофиль.

  5. Проверяем только режим и наличие/отсутствие своих строк. Непустой токен не доказывает его подпись, срок, область прав или возможность доставки.

  6. Ни одно состояние не устанавливается менеджером, секреты и сетевые операции не используются.

Как проверить результат

  1. Ожидаются шесть Истина: три для фиктивного токенного состояния и три для фиктивного парольного.

  2. В сообщения не должны попадать сами значения токена и пароля. Подключение с ними не запускайте: они не являются рабочими учётными данными.

Ожидаемый результат

Выбор режима разобран отдельно от реального получения, проверки и применения секретов.

На что обратить внимание

  1. Не вставляйте в учебный код токен из браузера, своей почты или рабочего приложения.

  2. Режим Авто не означает проверку корректности произвольной непустой строки.

  3. Сравнение свойств не доказывает успешный OAuth или правильные требования почтового сервера.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.