Имя: Пароль:
1C
1С v8
интернетпочта не работает отбор
0 prtx
 
05.02.16
01:56
доброй ночи, граждане... у меня уже скоро крышу сорвет, переработался...

не работает отбор сообщений. суть: есть почтовый ящик, к нему мы подключаемся, и достаем письма(которые нам нужны), но нет, я могу достать только дырку от бублика или все сообщения.

у меня не работает отбор в получить заголовки или получить идентификаторы - короче ни там, ни там. во всяком случае отбор не работает по полю отправитель - это точно. по ключу ПослеДатыОтправления - работает.

я конечно могу все этот дело прочитать все сообщения а потом отобрать то что нужно, но а вдруг скорость плохая, или на почте окажеться 1000 сообщений, хотя наверное пары сотен хватит для долгого и нудного жужания...

1с 8.3. уф

код:
    Профиль = Новый ИнтернетПочтовыйПрофиль;
    
    Профиль.ИспользоватьSSLIMAP                = Истина;
    Профиль.АдресСервераIMAP                   = "imap.mail.ru";
    Профиль.ПортIMAP                           = "993";     
    Профиль.ПользовательIMAP                   = "login@mail.ru";
    Профиль.ПарольIMAP                         = "pass";
    Профиль.ТолькоЗащищеннаяАутентификацияIMAP = Ложь;
    
    Почта = Новый ИнтернетПочта;

    Попытка

        Почта.Подключиться(Профиль, ПротоколИнтернетПочты.IMAP);

    Исключение

        Сообщить("Ошибка подключения!");
        Возврат;

    КонецПопытки;
    
    
    Выборка = Справочники.НастройкиИмпортаПрайсов.Выбрать();
    
    Пока Выборка.Следующий() Цикл
        
        Попытка  

            ПараметрыОтбора = Новый Структура;
            ПараметрыОтбора.Вставить("Отправитель", Выборка.АдресЭлектроннойПочты);
            
            ид = Почта.ПолучитьИдентификаторы(, ПараметрыОтбора);
            
            Сообщить(ид.Количество());

// и эта зараза мне не выдает ни одного сообщения!!! че за на ???
            
        Исключение
            
            Сообщить("Ошибка выбора ид!");
            Возврат;
            
        КонецПопытки;


p/s/ сообщения от этого отправителя (почта) есть... я уже и имя отправителя вместо адреса почты подставля(думал может я не догоняю), ни фига...
1 Garykom
 
гуру
05.02.16
02:04
попробовать ПараметрыОтбора.Вставить("From", Выборка.АдресЭлектроннойПочты);

и еще
Строковые значения критериев отбора отправляются в кодировке US-ASCII, если содержат только символы ANSI и в кодировке UTF-8 - в противном случае. Не все IMAP-серверы поддерживают UTF-8, поэтому сервер может выдать соответствующую ошибку.
2 Garykom
 
гуру
05.02.16
02:05
(1)+ http://1c-pro.ru/threads/ne-rabotajut-parametry-otbora-v-metode-poluchitidentifikatory-internetpochty.52612/

но там про 8.2 было, а у вас отбор по "ПослеДатыОтправления" работает так что странно
3 prtx
 
05.02.16
02:13
(2) ну вот это называется "найди десять отличий"

я уже этот сп читаю и читаю, уже тупо скопировал:

            ПараметрыОтбораIMAP = Новый Структура;
            ПараметрыОтбораIMAP.Вставить("Тема", "Прайс");
            Заголовки = Почта.ПолучитьЗаголовки(ПараметрыОтбораIMAP);

            ПараметрыОтбораIMAP = Новый Структура;
            ПараметрыОтбораIMAP.Вставить("ПослеДатыОтправления", Дата("20160205"));
            Заголовки = Почта.ПолучитьЗаголовки(ПараметрыОтбораIMAP);

первый варинт не работает также как и с отправителем, хотя там десять сообщений и в каждом в теме есть слово прайс....

а по дате отбор работает....

буду копать может чето с кодировками, только куда копать и как определить что поддерживает сервер?

спасибо
4 Garykom
 
гуру
05.02.16
02:19
попробуйте решить проблему способом Использование классов .Net в 1С для новичков

т.е. через ВК и .Net
5 Garykom
 
гуру
05.02.16
02:27
(4) хотя нет, в .net framework нет встроенного для imap, только 3-party
6 Garykom
 
гуру
05.02.16
02:29