пятница, 23 февраля 2018 г.

Интеграция с электронной почтой

Средства встроенного языка позволяют работать с электронной почтой в двух вариантах: с использованием внешнего почтового клиента, установленного на сервере, и без него. Оба варианта позволяют создавать, отправлять и получать почтовые сообщения.
В случае использования почтового клиента, доступ к нему осуществляется по протоколу MAPI. Используется объект встроенного языка Почта.
В случае работы без почтового клиента, работа будет происходить по протоколам IMAP, SMTP и POP3. Используется объект встроенного языка ИнтернетПочта.
Подробно: http://v8.1c.ru/overview/Term_000000638.htm

***
Вопрос 08.16 экзамена 1С:Профессионал по платформе. Для получения почты напрямую с почтового сервера (без использования установленного почтового клиента) используется объект:
  1. Объект "Почта"
  2. Объект "ИнтернетПочта"
  3. Объект "ИнтернетСервер"
  4. Данная возможность платформой не предусмотрена
Правильный ответ второй, разбор выше.

***
Вопрос 08.25 экзамена 1С:Профессионал по платформе. При работе с объектом "ИнтернетПочта" можно произвести выборку писем (либо заголовков):
  1. За указанный период
  2. Либо все, либо непрочитанные
  3. Либо все, либо непрочитанные, либо прочитанные
  4. За указанный период все, либо непрочитанные, либо прочитанные
  5. Только все письма, находящиеся на сервере
Правильный ответ пятый. См. в синтакс-помощнике метод ИнтернетПочта.ПолучитьЗаголовки().

***
Вопрос 08.34 экзамена 1С:Профессионал по платформе. Для получения почты посредством установленного на пользовательском компьютере почтового клиента используется объект:
  1. Почта
  2. ИнтернетПочта
  3. ПочтовыйКлиент
Правильный ответ первый, разбор см. выше.

2 комментария:

  1. К вопросу 8.25: вот такой фрагмент кода исправно дает разное число заголовков в зависимости от того, какую дату я указываю. Что согласуется с описанием метода ПолучитьЗаголовки, где написано, что отбор НЕ работает для типа сервера POP3, и работает для IMAP. Так что по факту верным был бы ответ 4 - Выборку писем произвести можно.

    Профиль = Новый ИнтернетПочтовыйПрофиль;
    Профиль.АдресСервераIMAP = "imap.yandex.ru";
    Профиль.ИспользоватьSSLIMAP = Истина;
    Профиль.ПортIMAP = 993;
    Профиль.ПользовательIMAP = "*****";
    Профиль.ПарольIMAP = "*****";
    Почта = Новый ИнтернетПочта;
    Почта.Подключиться(Профиль, ПротоколИнтернетПочты.IMAP);
    отбор = Новый Структура("ПослеДатыОтправления", '20190501');
    НовыеСооб = Почта.ПолучитьИдентификаторы(, Отбор);
    Сообщить(НовыеСооб.Количество());

    ОтветитьУдалить
  2. прошу прощения, пишу про ПолучитьЗаголовки а в коде - ПолучитьИдентификаторы.

    НовыеСооб = Почта.ПолучитьЗаголовки(Отбор); // Однако это тоже работает. Отбор производится.

    ОтветитьУдалить