|
Отбор писем в почтовом ящике |
☑ |
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) не понятно почему текст в конструктор Дата() вносишь.
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший