Отправка электронной почты непосредственно из 1С

Предисловие

Все описанное ниже предполагает использование стандартной библиотеки v7plus.dll, входящей в комплект поставки 1С:Предприятия 7.7.

В модуле, который будет отправлять почту, вне функций должна быть определена переменная «Почта», в которой будет храниться ссылка на объект «V7Mail».

Письмо создается в почтовой программе, определенной в системе используемой по умолчанию. Нижеприведенные тексты проверялись с программами: Microsoft OutLook Express (5, 6), Microsoft OutLook 2000, The Bat!

Инициализация

Перед использованием почты необходимо загрузить внешнюю компоненту. Это делает следующая процедура.

Функция Инит()	
	Если ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"v7plus.dll")=0 Тогда
		Если ЗагрузитьВнешнююКомпоненту("v7plus.dll")=0 Тогда
			Сообщить("Не удалось обнаружить компоненту V7Plus.dll!"); 
			Возврат 0;
		КонецЕсли;
	КонецЕсли;
	Попытка
		Почта = СоздатьОбъект("AddIn.V7Mail");
	Исключение 
		Сообщить("Не удалось создать объект Addin.V7Mail!");
		Возврат 0;
	КонецПопытки;
	Возврат 1;
КонецФункции

Отправка

Процедура отправки почты в самом простом варианте выглядит вот так.
Процедура Отправить()
	Почта.Подключиться();
	Почта.НовоеСообщение();
	//к письму можно прикрепить файлы командами вида:
	Почта.ДобавитьФайл(Каталог+ПолноеИмяФайла);
	//в письме может быть несколько получателей, каждый вписывается вот так
	Почта.ДобавитьАдрес(ТекАдрес);
	Почта.Заголовок=Тема;
	Почта.Текст=Текст;
	Почта.Послать();
	Предупреждение("Письмо отправлено",1);
	Почта.Отключиться();
КонецПроцедуры

Заключение

У использования стандартной компоненты v7plus.dll есть несколько недостатков. Наиболее существенные: необходимость установки в системе почтовой программы и невозможность вписать некоторых получателей в поле «скрытая копия».

В следующей статье будет рассмотрена работа компонентой «ROM-Mail.dll», которая позволяет работать с почтовым сервером напрямую без использования вспомогательных программ и обладает другими ценными функциями.