ИнтернетПочтовыйПрофиль (БСП)

Автор: 1С
ОбщийМодуль.РаботаСПочтовымиСообщениямиСлужебный
БСП

Интернет почтовый профиль. Создает профиль переданной учетной записи для подключения к почтовому серверу.

// Создает профиль переданной учетной записи для подключения к почтовому серверу.
//
// Параметры:
//  УчетнаяЗапись - СправочникСсылка.УчетныеЗаписиЭлектроннойПочты - учетная запись.
//
// Возвращаемое значение:
//  ИнтернетПочтовыйПрофиль - профиль учетной записи;
//  Неопределено - не удалось получить учетную запись по ссылке.
//
Функция ИнтернетПочтовыйПрофиль(УчетнаяЗапись, ДляПолучения = Ложь) Экспорт
	
	ТекстЗапроса =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	УчетныеЗаписиЭлектроннойПочты.СерверВходящейПочты КАК АдресСервераIMAP,
	|	УчетныеЗаписиЭлектроннойПочты.ПортСервераВходящейПочты КАК ПортIMAP,
	|	УчетныеЗаписиЭлектроннойПочты.ИспользоватьЗащищенноеСоединениеДляВходящейПочты КАК ИспользоватьSSLIMAP,
	|	УчетныеЗаписиЭлектроннойПочты.Пользователь КАК ПользовательIMAP,
	|	УчетныеЗаписиЭлектроннойПочты.СерверВходящейПочты КАК АдресСервераPOP3,
	|	УчетныеЗаписиЭлектроннойПочты.ПортСервераВходящейПочты КАК ПортPOP3,
	|	УчетныеЗаписиЭлектроннойПочты.ИспользоватьЗащищенноеСоединениеДляВходящейПочты КАК ИспользоватьSSLPOP3,
	|	УчетныеЗаписиЭлектроннойПочты.Пользователь КАК Пользователь,
	|	УчетныеЗаписиЭлектроннойПочты.СерверИсходящейПочты КАК АдресСервераSMTP,
	|	УчетныеЗаписиЭлектроннойПочты.ПортСервераИсходящейПочты КАК ПортSMTP,
	|	УчетныеЗаписиЭлектроннойПочты.ИспользоватьЗащищенноеСоединениеДляИсходящейПочты КАК ИспользоватьSSLSMTP,
	|	УчетныеЗаписиЭлектроннойПочты.ТребуетсяВходНаСерверПередОтправкой КАК POP3ПередSMTP,
	|	УчетныеЗаписиЭлектроннойПочты.ПользовательSMTP КАК ПользовательSMTP,
	|	УчетныеЗаписиЭлектроннойПочты.ВремяОжидания КАК Таймаут,
	|	УчетныеЗаписиЭлектроннойПочты.ПротоколВходящейПочты КАК Протокол
	|ИЗ
	|	Справочник.УчетныеЗаписиЭлектроннойПочты КАК УчетныеЗаписиЭлектроннойПочты
	|ГДЕ
	|	УчетныеЗаписиЭлектроннойПочты.Ссылка = &Ссылка";
	
	Запрос = Новый Запрос(ТекстЗапроса);
	Запрос.УстановитьПараметр("Ссылка", УчетнаяЗапись);
	Выборка = Запрос.Выполнить().Выбрать();
	
	Результат = Неопределено;
	Если Выборка.Следующий() Тогда
		СписокСвойствIMAP = "АдресСервераIMAP,ПортIMAP,ИспользоватьSSLIMAP,ПользовательIMAP";
		СписокСвойствPOP3 = "АдресСервераPOP3,ПортPOP3,ИспользоватьSSLPOP3,Пользователь";
		СписокСвойствSMTP = "АдресСервераSMTP,ПортSMTP,ИспользоватьSSLSMTP,ПользовательSMTP";
		
		УстановитьПривилегированныйРежим(Истина);
		Пароли = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(УчетнаяЗапись, "Пароль,ПарольSMTP");
		УстановитьПривилегированныйРежим(Ложь);
		
		Результат = Новый ИнтернетПочтовыйПрофиль;
		Если ДляПолучения Тогда
			Если Выборка.Протокол = "IMAP" Тогда
				ТребуемыеСвойства = СписокСвойствIMAP;
				Результат.ПарольIMAP = Пароли.Пароль;
			Иначе
				ТребуемыеСвойства = СписокСвойствPOP3;
				Результат.Пароль = Пароли.Пароль;
			КонецЕсли;
		Иначе
			ТребуемыеСвойства = СписокСвойствSMTP;
			Результат.ПарольSMTP = Пароли.ПарольSMTP;
			Если Выборка.Протокол <> "IMAP" И Выборка.POP3ПередSMTP Тогда
				ТребуемыеСвойства = ТребуемыеСвойства + ",POP3ПередSMTP," + СписокСвойствPOP3;
				Результат.Пароль = Пароли.Пароль;
			КонецЕсли;
			Если Выборка.Протокол = "IMAP" Тогда
				ТребуемыеСвойства = ТребуемыеСвойства + "," + СписокСвойствIMAP;
				Результат.ПарольIMAP =Пароли.Пароль;
			КонецЕсли;
		КонецЕсли;
		ТребуемыеСвойства = ТребуемыеСвойства + ",Таймаут";
		ЗаполнитьЗначенияСвойств(Результат, Выборка, ТребуемыеСвойства);
	КонецЕсли;
	
	Возврат Результат;
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ИнтернетПочтовоеСообщениеИзПисьма (БСП)

ЗаполнитьИнтернетПочтовыеАдреса (БСП)

ПолучитьВажность (БСП)

ИспользуетсяПочтовыйКлиент (БСП)

СоставПочтовогоАдреса (БСП)

XPathПочтовогоИндекса (БСП)

ОтправитьПочтовоеСообщение (БСП)

АдресаПоПочтовомуИндексуКлассификатора (БСП)

КодСериализацииПочтовогоИндекса (БСП)

TurboConf 6 - расширение Конфигуратора 1С