Имя: Пароль:
1C
1С v8
Получение непрочитанных писем
0 shadow_sw
 
03.08.17
09:16
Доброго времени суток!
Столкнулся с проблемой - не работает отбор новых писем в почтовом ящике от Яндекса. Профиль настроен через IMAP. Если делать без отбора, то читает все письма. 1с8.3 (8.3.8.2054)
    ПараметрыОтбораIMAP = Новый Структура;
    ПараметрыОтбораIMAP.Вставить("New", Истина);
    Заголовки = ИнтернетПочта.ПолучитьЗаголовки(ПараметрыОтбораIMAP);
    Если Заголовки.Количество() = 0 Тогда

Значение всегда 0, хотя могу накидать 10 писем
ЧЯДНТ?
1 Lexey_
 
03.08.17
09:20
(0) так тебе непрочитанные или новые?
2 shadow_sw
 
03.08.17
09:24
3 shadow_sw
 
03.08.17
09:26
(1) согласен, есть отбор Seen и New,сча попробую по прочитанным отбор сделать
4 shadow_sw
 
03.08.17
09:30
Через Seen отбор работает, теперь вопрос другой - как поставить у письма статус - прочитано?
5 Lexey_
 
03.08.17
09:36
(4) ИнтернетПочта (InternetMail)
Выбрать (Get)
Синтаксис:

Выбрать(<УдалятьСообщения>, <МассивЗаголовковСообщенийИлиИдентификаторов>, <ОтмечатьКакПрочтенные>)
6 shadow_sw
 
03.08.17
10:01
(5) спасибо, плохо СП читал, все взлетело, если кому понадобится код получения вложений из непрочитанных писем:

    Профиль=Новый ИнтернетПочтовыйПрофиль;    
    Профиль.АдресСервераIMAP = IMAPСервер;
    Профиль.ПользовательIMAP=Пользователь;
    Профиль.ПарольIMAP=Пароль;    
    Профиль.АдресСервераSMTP = SMTPСервер;
    Профиль.Пароль           = Пароль;
    Профиль.Пользователь     = Пользователь;
    Профиль.ПортIMAP         = ПортIMAP;
    Профиль.ПортSMTP         = ПортSMTP;
    Профиль.ИспользоватьSSLSMTP=Истина;
    Профиль.ИспользоватьSSLIMAP=Истина;

    

    
    
    
    
    ИнтернетПочта = Новый ИнтернетПочта;
    
    Попытка
        ИнтернетПочта.Подключиться(Профиль,ПротоколИнтернетПочты.IMAP);
    Исключение
        Сообщить(ОписаниеОшибки());
        Сообщить("Произошли ошибки при проверке настроек учетной записи.
        |Описание ошибки приведено в окне сообщения.");
        Возврат;
    КонецПопытки;
    
    //Выбираем все  письма в массив
    ПараметрыОтбораIMAP = Новый Структура;
    ПараметрыОтбораIMAP.Вставить("Seen", Ложь);
    Заголовки = ИнтернетПочта.ПолучитьЗаголовки(ПараметрыОтбораIMAP);
    Если Заголовки.Количество() = 0 Тогда
        
    Иначе
    //   Разбираем каждое письмо, и выполняем необходимые действия
        МассивСообщений = Новый Массив;
        МассивСообщений = ИнтернетПочта.Выбрать(,Заголовки,Истина);  
        Для каждого Письмо из МассивСообщений Цикл
            
            //Получение вложений в писье
            Вложения = Письмо.Вложения;                                                              
            Тема      =  Письмо.Тема;
            Тексты      =  Письмо.Тексты;
            
          Попытка
                Для каждого Вложение Из Письмо.Вложения Цикл
                    Если Прав(Вложение.ИмяФайла,3) =  МаскаРасширения тогда
                        Вложение.Данные.Записать(ПутьСохранения+Вложение.ИмяФайла+"");
                        Сообщить("Вложения успешно сохранены...");
                    КонецЕсли;    
                    
                КонецЦикла;
                
            Исключение
                Сообщить("Ошибка сохранения вложений!");
            КонецПопытки;
                    
        КонецЦикла;                  
     КонецЕсли;
    ИнтернетПочта.Отключиться();