Имя: Пароль:
1C
 
Отбор писем в почтовом ящике
0 ac13
 
21.12.18
14:34
Нужно получать письма с определенной темой. Есть вариант, но выполнение долгое, так как идет перебор всех писем. Как упростить и ускорить отбор только нужных писем.

Профиль = Новый ИнтернетПочтовыйПрофиль;

Почта = Новый ИнтернетПочта;
Почта.Подключиться(Профиль);

ТемаПисьма = "Тема нужного письма";
Заголовки = Почта.ПолучитьЗаголовки();

Индексы = Новый СписокЗначений;

Для каждого Письмо из Заголовки Цикл
     Если Письмо.Тема <> ТемаПисьма Тогда
          Индексы.Добавить(Заголовки.Найти(Письмо));
     КонецЕсли;
КонецЦикла;

Для каждого Инд ИЗ Индексы Цикл
     Заголовки.Удалить(Индексы.Значение);
КонецЦикла;

НужныеПисьма = Почта.Выбрать(Истина,Заголовки);
1 ac13
 
21.12.18
15:25
Народ, подскажите плиз
2 manc88
 
21.12.18
15:34
Если другие письма не интересуют совсем, то может проще на почтовике настроить фильтрацию?
3 ac13
 
21.12.18
15:37
(2) мне надо по регламентному заданию ежедневно скачивать определенные письма
4 IOANNscrp
 
21.12.18
15:40
[code]ПараметрыОтбораIMAP = Новый Структура;
        ПараметрыОтбораIMAP.Вставить("Subject"  ,"Очень интересная тема");
        Заголовки = Соединение.ПолучитьЗаголовки(ПараметрыОтбораIMAP);[/code]
5 ac13
 
21.12.18
16:13
(4) по IMAP подключиться не получается: Ошибка при вызове метода контекста (Подключиться): Произошла ошибка соединения с сервером при работе с IMAP. Код ошибки: 4
6 ac13
 
21.12.18
16:22
(4) спасибо! но отбор не работает
7 ac13
 
21.12.18
16:30
По дате отбор работает
ПараметрыОтбораIMAP = Новый Структура;
    ПараметрыОтбораIMAP.Вставить("ПослеДатыОтправления", Дата("20181219"));
    Заголовки = Почта.ПолучитьЗаголовки(ПараметрыОтбораIMAP);

по теме нет
ПараметрыОтбораIMAP = Новый Структура;
    ПараметрыОтбораIMAP.Вставить("Тема", Дата("Теест темы письма"));
    Заголовки = Почта.ПолучитьЗаголовки(ПараметрыОтбораIMAP);
8 hhhh
 
21.12.18
16:36
(7) Наверно потому что "теест", две буквы "е"
9 ac13
 
21.12.18
16:43
(8) нет, не по этому)
по теме отбор не работает, но мне подошел отбор по отправителю и дате

ПараметрыОтбораIMAP = Новый Структура;
    ПараметрыОтбораIMAP.Вставить("From", "адрес@отправителя.ру");
    ПараметрыОтбораIMAP.Вставить("ПослеДатыОтправления", Дата("20181219"));
    ПараметрыОтбораIMAP.Вставить("ДоДатыОтправления", Дата("20181220"));
    Заголовки = Почта.ПолучитьЗаголовки(ПараметрыОтбораIMAP);
10 IOANNscrp
 
21.12.18
18:10
(7) не понятно почему текст в конструктор Дата() вносишь.