Отправка и получение почты |
Написал Валецкий Станислав
|
1С Предприятие 8.1 позволяет работать с почтой непосредственно из программы. Для этого в ней заложены несколько объектов для работы с почтой и интернет-соединением. Например, использование отправки почты из 1С может быть самое разное - от отправки прайс-листов клиентам, до полноценного почтовика со всеми необходимыми функциями. Рассмотрим как можно отправить и получить письмо не выходя из программы.
Процедура ОтправитьПисьмо()
//для получения доступа к набору свойств для соединения с сервером
//создадим новый объект
Профиль = Новый ИнтернетПочтовыйПрофиль;
//Пропишем параметры соединения
//ip адрес или имя SMTP сервера
Профиль.АдресСервераSMTP = АдресСервераSMTPРассылки;
//Порт SMTP сервера
Профиль.ПортSMTP = ПортСервераSMTPРассылки;
//Имя пользователя почтового ящика
Профиль.Пользователь = ПользовательСервераSMTPРассылки;
//Пароль доступа к почтовому ящику
Профиль.Пароль = ПарольСервераSMTPРассылки;
//При необходимости добавляем аутентификацию
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
Профиль.ПарольSMTP = УчетнаяЗапись.ПарольSMTP;
Профиль.ПользовательSMTP = УчетнаяЗапись.ЛогинSMTP;
// Создаем объект для работы с почтой
Почта = Новый ИнтернетПочта;
//Выполняем подключение, согласно указанный параметров
Попытка
Почта.Подключиться(Профиль);
Исключение
//При подключении возникла ошибка, сообщим
Сообщить("Ошибка при подключении к серверу" + ОписаниеОшибки());
Возврат;
КонецПопытки;
//Создаем новое письмо (сообщение)
Сообщение = Новый ИнтернетПочтовоеСообщение;
//Указываем отправителя
Сообщение.Отправитель = ЭлАдресРассылки;
//Заполняем получателя
Сообщение.Получатели.Добавить(ЭлектронныйАдресПолучателя);
//Пишем тему письма
Сообщение.Тема = Тема;
//Формируем текст письма,указываем тип письма
Сообщение.Тексты.Добавить("Привет",ТипТекстаПочтовогоСообщения.HTML);
//При необходимости делаем вложение с файлом
Сообщение.Вложения.Добавить(ПутьКФайлуВложения);
//Непосредственно отправка сообщения
Почта.Послать(Сообщение);
//После отправки закрываем соединение
Почта.Отключиться();
КонецПроцедуры
Процедура ПолучениеПочты()
//создадим новый объект
Профиль = Новый ИнтернетПочтовыйПрофиль;
//Пропишем параметры соединения
//ip адрес или имя POP3 сервера
Профиль.АдресСервераPOP3 = УчетнаяЗапись.POP3Сервер;
//Порт SMTP сервера
Профиль.ПортPOP3 = ПортСервераPOP3Рассылки;
//Имя пользователя почтового ящика
Профиль.Пользователь = Пользователь;
//Пароль доступа к почтовому ящику
Профиль.Пароль = Пароль;
// Создаем объект для работы с почтой
ИнтернетПочта = Новый ИнтернетПочта;
//Выполняем подключение, согласно указанный параметров
Попытка
ИнтернетПочта.Подключиться(Профиль);
Исключение
//При подключении возникла ошибка, сообщим
Сообщить("Ошибка при подключении к серверу" + ОписаниеОшибки());
Возврат;
КонецПопытки;
//Выбираем все письма в массив
МассивСообщений = Новый Массив;
МассивСообщений = ИнтернетПочта.Выбрать(Истина);
//Разбираем каждое письмо, и выполняем необходимые действия
Для Каждого Письмо Из МассивСообщений Цикл
//Получение вложений в писье
Вложения = Письмо.Вложения;
Тема = Письмо.Тема;
Тексты = Письмо.Тексты;
//..... и т.д.
КонецЦикла;
КонецЕсли;
//После получения закрываем соединение
ИнтернетПочта.Отключиться();
КонецПроцедуры
|