Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Использование метода ПолучитьЗаголовки() интернет-почты          
Batchir Подменю пользователя
сообщение 08.02.09, 21:54
Сообщение #1

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1443 раз
Рейтинг: 0

Использование метода ПолучитьЗаголовки() интернет-почты

Метод ПолучитьЗагловки() объекта ИнтернетПочта позволяет получать с сервера только заголовки сообщений. Благодаря этому, например, можно получить информацию о теме, отправителе и т.д. и решить, принимать-ли это письмо, или сразу удалить его.

Данный метод возвращает массив объектов типа ИнтернетПочтовоеСообщение. Каждый объект содержит информацию из заголовка сообщения. Вложения и тексты с сервера не принимаются.

Прием

Например, требуется получить все заголовки почтовых сообщений:


Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераPOP3 = "pop3.foo.org";
Профиль.Пользователь = "user";
Профиль.Пароль = "password";

// Подключиться к почтовому серверу.
Почта = Новый ИнтернетПочта;
Почта.Подключиться(Профиль);
// Принять заголовки всех писем, находящихся на сервере.
// ЗаголовкиСообщений - это массив с объектами типа ИнтернетПочтовоеСообщение
ЗаголовкиСообщений = Почта.ПолучитьЗаголовки();


Например, после просмотра заголовков необходимо принять первые 10 сообщений:


// Удалить из массива все сообщения кроме первых десяти.
Для Инд = 10 По ЗаголовкиСообщений.Количество() - 1 Цикл
ЗаголовкиСообщений.Удалить(ЗаголовкиСообщений.Количество() - 1);
КонецЦикла;
Попытка
// Получить "полные" сообщения.
// Полученные сообщения будут находится в массиве
// ПолученныеСообщения.
ПолученныеСообщения = Почта.Выбрать(Ложь, ЗаголовкиСообщений);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;


Удаление

Например, после анализа полученных заголовков, необходимо удалить все сообщения кроме первых десяти. Делается это так:


// Удалить из массива первые десять объектов.
Для Инд = 0 По 9 Цикл
ЗаголовкиСообщений.Удалить(0);
КонецЦикла;
Попытка
// Удалить с сервера сообщения, указанные в массиве ЗаголовкиСообщений.
Почта.УдалитьСообщения(ЗаголовкиСообщений);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;


Пример использования

Используя метод ПолучитьЗаголовки(), можно получать сообщения по-одному. Кроме того, можно заключить процедуру получения в операторы Попытка ... Исключение, что позволит продолжить получение, если при приеме определенного сообщения произошла ошибка. Так же можно поместить в форме индикатор для графического отображения процесса получения сообщений:


ПолучаемоеСообщение = Новый Массив;
// Получить заголовки.
ЗаголовкиСообщений = Почта.ПолучитьЗаголовки();
Для инд = 0 По Заголовки.Количество() - 1 Цикл

// Поместить очередной заголовок в массив
ПолучаемоеСообщение.Добавить(ЗаголовкиСообщений[инд]);

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

// Очистить массив от предыдущего заголовка
ПолучаемоеСообщение.Очистить();
КонецЦикла;

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 21.06.25, 10:53
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!