Отправка сформированного отчета на почту (в виде html текста)

andrey5565 286 5 7 10

Сохраняем табличный документ как html текст, отправляем на почту используя протокол smtp. Плюс в том, что при открытии сообщения на почте сразу будем видеть отчет (не прибегая к скачиванию файла и тп)

	// Описание ПочтовогоПрофиля;
	ПочтовыйПрофиль  = Новый ИнтернетПочтовыйПрофиль;
	
	// SMTP (отправляем сообщение);    
	ПочтовыйПрофиль.АдресСервераSMTP = "smtp.yandex.com";
	//ПочтовыйПрофиль.АдресСервераIMAP = "imap.yandex.com";
	
	ПочтовыйПрофиль.ПользовательSMTP = "xxxxx.xxxxxx@yandex.ru";
	ПочтовыйПрофиль.ПарольSMTP 	= "tcbbrwraduriuusz"; 
	
	ПочтовыйПрофиль.Пользователь = "xxxxx.xxxxxx@yandex.ru";
	ПочтовыйПрофиль.Пароль = "tcbbrwraduriuusz";
	
	ПочтовыйПрофиль.ПортSMTP = 465; 
	//ПочтовыйПрофиль.ПортIMAP = 993;
	ПочтовыйПрофиль.Таймаут = 30; // мс;
	
	ПочтовыйПрофиль.ИспользоватьSSLSMTP = Истина;
	ПочтовыйПрофиль.ИспользоватьSSLIMAP = Истина;
	
	// ИнтернетПочта;
	Почта = Новый ИнтернетПочта;
	
	ПодключеноУспешно = Ложь;
	Попытка
		Почта.Подключиться(ПочтовыйПрофиль, ПротоколИнтернетПочты.IMAP);
		ПодключеноУспешно = Истина;
	Исключение
	КонецПопытки;
	
	// Проверка;
	Если НЕ ПодключеноУспешно Тогда
    	        ЖурналРегистрации.ДобавитьСообщениеДляЖурналаРегистрации(ОписаниеОшибки(), 
                     УровеньЖурналаРегистрации.Ошибка,,,  "Сообщение- не было отправлено!");  
		Возврат;
	Иначе
		
		АдресФайлаВложения = ПолучитьИмяВременногоФайла(".txt");
		
		// Формирование отчета;
		ТаблДок = Новый ТабличныйДокумент;
                // Формируем отчет (какой хотим);
		Отчеты.ABCXYZАнализНоменклатуры.Создать().СкомпоноватьРезультат(ТаблДок);   
		ТаблДок.Записать(АдресФайлаВложения, ТипФайлаТабличногоДокумента.HTML);
		
		ТекстHTML = "";
			ТекДок = Новый ТекстовыйДокумент;
			ТекДок.Прочитать(АдресФайлаВложения);
		ТекстHTML = ТекДок.ПолучитьТекст();
		
		// Формирование сообщения;
		ПочтовоеСообщение = Новый ИнтернетПочтовоеСообщение;
		ПочтовоеСообщение.Тема 		= СтрШаблон("Отчет ""Остатки товаров организаций"" от %1", Формат(ТекущаяДата(), "ДЛФ=DD"));
		ПочтовоеСообщение.Важность 	= ВажностьИнтернетПочтовогоСообщения.Наивысшая;
		ПочтовоеСообщение.Тексты.Добавить(ТекстHTML, ТипТекстаПочтовогоСообщения.HTML);
		//
		ПочтовоеСообщение.Отправитель.Адрес = "xxxxx.xxxxxx@yandex.ru";
		ПочтовоеСообщение.Получатели.Добавить("xxxxx.xxxxxx@yandex.ru");  
		
		//ИнтернетПочтовоеВложение  = ПочтовоеСообщение.Вложения.Добавить(АдресФайлаВложения, "Остатки товаров организаций");
		
		Попытка
			СоответствиеОтвет = Почта.Послать(ПочтовоеСообщение,, ПротоколИнтернетПочты.SMTP);	
		Исключение
		КонецПопытки;
		
	КонецЕсли;
0
{46} Переменной ТекстHTML присвоено значение, но оно нигде не используется
{63} Переменной СоответствиеОтвет присвоено значение, но оно нигде не используется
Орфографическая ошибка в smtp (найдено 2): smtp
Орфографическая ошибка в yandex (найдено 6): yandex
Орфографическая ошибка в xxxxx (найдено 4): xxxxx
Орфографическая ошибка в xxxxxx (найдено 4): xxxxxx
Орфографическая ошибка в tcbbrwraduriuusz (найдено 2): tcbbrwraduriuusz

См. также

СформироватьСписокФайловДляОтправкиПоПочте (БСП)

СформироватьТекстHTMLДляВходящегоПисьма (БСП)

СформироватьТекстHTMLДляИсходящегоПисьма (БСП)

ПриЗаполненииПочтыПолучателейВСообщении (БСП)

Отправка электронной почты

Отправка Интернет Почты

ПолучитьОбычныйТекстИзHTML (БСП)

ОбработатьТекстHTML (БСП)

ИзвлечьТекстИзHTML (БСП)

Модератору