Метод ПолучитьЗагловки() объекта ИнтернетПочта позволяет получать с сервера только заголовки сообщений. Благодаря этому, например, можно получить информацию о теме, отправителе и т.д. и решить, принимать-ли это письмо, или сразу удалить его.
Данный метод возвращает массив объектов типа ИнтернетПочтовоеСообщение. Каждый объект содержит информацию из заголовка сообщения. Вложения и тексты с сервера не принимаются.
Прием
Например, требуется получить все заголовки почтовых сообщений:
Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераPOP3 = "pop3.foo.org";
Профиль.Пользователь = "user";
Профиль.Пароль = "password";
// Подключиться к почтовому серверу.
Почта = Новый ИнтернетПочта;
Почта.Подключиться(Профиль);
// Принять заголовки всех писем, находящихся на сервере.
// ЗаголовкиСообщений - это массив с объектами типа ИнтернетПочтовоеСообщение
ЗаголовкиСообщений = Почта.ПолучитьЗаголовки();
Например, после просмотра заголовков необходимо принять первые 10 сообщений:
// Удалить из массива все сообщения кроме первых десяти.
Для Инд = 10 По ЗаголовкиСообщений.Количество() - 1 Цикл
ЗаголовкиСообщений.Удалить(ЗаголовкиСообщений.Количество() - 1);
КонецЦикла;
Попытка
// Получить "полные" сообщения.
// Полученные сообщения будут находится в массиве
// ПолученныеСообщения.
ПолученныеСообщения = Почта.Выбрать(Ложь, ЗаголовкиСообщений);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Удаление
Например, после анализа полученных заголовков, необходимо удалить все сообщения кроме первых десяти. Делается это так:
// Удалить из массива первые десять объектов.
Для Инд = 0 По 9 Цикл
ЗаголовкиСообщений.Удалить(0);
КонецЦикла;
Попытка
// Удалить с сервера сообщения, указанные в массиве ЗаголовкиСообщений.
Почта.УдалитьСообщения(ЗаголовкиСообщений);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Пример использования
Используя метод ПолучитьЗаголовки(), можно получать сообщения по-одному. Кроме того, можно заключить процедуру получения в операторы Попытка ... Исключение, что позволит продолжить получение, если при приеме определенного сообщения произошла ошибка. Так же можно поместить в форме индикатор для графического отображения процесса получения сообщений:
ПолучаемоеСообщение = Новый Массив;
// Получить заголовки.
ЗаголовкиСообщений = Почта.ПолучитьЗаголовки();
Для инд = 0 По Заголовки.Количество() - 1 Цикл
// Поместить очередной заголовок в массив
ПолучаемоеСообщение.Добавить(ЗаголовкиСообщений[инд]);
Попытка
// Получить "полное" сообщение, которое находится в
// массиве ПолученноеСообщение.
ПолученноеСообщение = Почта.Выбрать(Ложь, ПолучаемоеСообщение);
Исключение
// В случае если произошла ошибка, сообщить о ней
// пользователю и продолжить прием сообщений.
Сообщить(ОписаниеОшибки());
КонецПопытки;
// Очистить массив от предыдущего заголовка
ПолучаемоеСообщение.Очистить();
КонецЦикла;