Не смешивать учётные данные трёх служб

Учебные задачи

Устанавливаем разные учебные имена и случайную локальную строку пароля. Пароль не выводится и не отправляется; профиль не создаёт почтовые аккаунты.

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

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. В учебной обработке или общем модуле запустите каждый фрагмент отдельно на сервере. Профиль создаётся в памяти; объект ИнтернетПочта и Подключиться в этих упражнениях не используются.

  2. example.invalid и TRAINING_NOT_VALID — намеренно нерабочие адреса/значения. Они позволяют разобрать свойства без отправки писем, подключения к чужим серверам и использования настоящих секретов.

  3. Для последующего реального соединения параметры берутся у администратора именно вашего тестового почтового сервиса. Значения этих уроков не являются настройками Gmail, Яндекс или корпоративной почты.

Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.Пользователь = "student-pop";
Профиль.ПользовательIMAP = "student-imap";
Профиль.ПользовательSMTP = "student-smtp";
УчебныйПароль = Строка(Новый УникальныйИдентификатор) + "_Aa8!";
Профиль.Пароль = УчебныйПароль;
Профиль.ПарольIMAP = УчебныйПароль;
Профиль.ПарольSMTP = УчебныйПароль;
Сообщить(Профиль.Пользователь = "student-pop");
Сообщить(Профиль.ПользовательIMAP = "student-imap");
Сообщить(Профиль.ПользовательSMTP = "student-smtp");
Сообщить(СтрДлина(Профиль.Пароль) > 0);
Сообщить(СтрДлина(Профиль.ПарольIMAP) > 0);
Сообщить(СтрДлина(Профиль.ПарольSMTP) > 0);
Профиль.Пароль = "";
Профиль.ПарольIMAP = "";
Профиль.ПарольSMTP = "";
УчебныйПароль = "";
Сообщить(Профиль.Пароль = "" И Профиль.ПарольIMAP = "" И Профиль.ПарольSMTP = "");

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

  1. Пользователь/Пароль относятся к POP3, а IMAP и SMTP имеют свои отдельные свойства.

  2. Имя пользователя берите у администратора: некоторые сервисы требуют полный адрес, другие короткое имя. student-* здесь не является действительным аккаунтом.

  3. UUID с ASCII-суффиксом создаёт локальную учебную строку, подходящую под ограничения US-ASCII этих свойств.

  4. В сообщения выводятся только сравнения имён и непустота пароля, не секретные строки.

  5. В конце очищаем ссылки на строки в профиле и локальной переменной. Это не гарантированное криптографическое стирание памяти.

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

  1. Шесть начальных проверок Истина и итоговое сравнение пустых паролей Истина.

  2. Никакой реальный пароль не вводится, аккаунт на сервере не создаётся.

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

Разобраны отдельные учётные данные SMTP, POP3 и IMAP без передачи секретов.

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

  1. Присвоение Пользователь не проверяет существование аккаунта.

  2. Очищение строк не равно защищённому хранилищу секретов.

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

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

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

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

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