1CLenta.ru  

1С почта (отправить и получить письма)

Программирование системы     02.05.2016 10:08     29271

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

На многих популярных почтовых серверах отправка почты поддерживается только с использованием технологии шифрования SSL. В системе 1С:Предприятие 8 использование технологии SSL доступно только на платформах не ниже версии 1С:Предприятие 8.3. Более подробную информацию о платформах можно узнать на сайте компании 1c.ru
Адреса, порты популярных почтовых серверов и другие настройки почты, доступны на сайтах поставщиков.

Функция ОтправитьПисьмо()


Функция ОтправитьПисьмо(EmailОтправителя, ПарольОтправителя, 
Порт, АдресСервера, EmailПолучателя,
ИмяПолучателя, ТекстСообщения,
ЗаголовокСообщения, МассивФайловыхПутей)

//ПОЧТОВЫЙ ПРОФИЛЬ

Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.ИспользоватьSSLSMTP = Истина;
Профиль.АдресСервераSMTP = АдресСервера;
Профиль.ПортSMTP = Порт;
Профиль.Пользователь = EmailОтправителя;
Профиль.Пароль = ПарольОтправителя;
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
Профиль.ПарольSMTP = ПарольОтправителя;
Профиль.ПользовательSMTP = EmailОтправителя;

//ПОЧТОВОЕ СООБЩЕНИЕ

Сообщение = Новый ИнтернетПочтовоеСообщение;
Сообщение.Отправитель = EmailОтправителя;
Сообщение.Тема = ЗаголовокСообщения;
Сообщение.Тексты.Добавить(ТекстСообщения, ТипТекстаПочтовогоСообщения.HTML);
Сообщение.Организация = "The company";
Адрес = Сообщение.Получатели.Добавить(EmailПолучателя);
Адрес.ОтображаемоеИмя = ИмяПолучателя;

Для каждого ПутьКФайлу Из МассивФайловыхПутей Цикл
Сообщение.Вложения.Добавить(ПутьКФайлу);
КонецЦикла;

// ПОЧТОВЫЙ СЕРВЕР

Почта = Новый ИнтернетПочта();

//Подключение к серверу
Попытка
Почта.Подключиться(Профиль);
Исключение
Сообщить("Ошибка при подключении к серверу: " + ОписаниеОшибки());
Возврат Ложь;
КонецПопытки;

//Отправка письма
Попытка
Почта.Послать(Сообщение);
Исключение
Почта.Отключиться();
Сообщить("Ошибка при отправке письма: " + ОписаниеОшибки());
Возврат Ложь;
КонецПопытки;

Почта.Отключиться();
Возврат Истина;

КонецФункции

Функция ПолучитьПисьма()


Функция ПолучитьПисьма()

//ПОЧТОВЫЙ ПРОФИЛЬ

Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.Пользователь = "xxx@xxxx.xx";
Профиль.Пароль = "xxxxxx";
Профиль.АдресСервераPOP3 = "pop3.mail.ru";
ПРофиль.АутентификацияPOP3 = СпособPOP3Аутентификации.Обычная;
МассивПисем = Новый массив();

//ПОЛУЧЕНИЕ ПИСЕМ

Попытка
Почта = Новый ИнтернетПочта;
Почта.Подключиться(Профиль);
МассивПисем = Почта.Выбрать(Ложь);
Исключение
Сообщить("Ошибка получения почты " + ОписаниеОшибки());
КонецПопытки;

Возврат МассивПисем;

КонецФункции

В управляемом приложении перед функцией необходимо поставить &НаСервере

Комментарии (0)