Чтение почты (Outlook)
Eng: Read mail
Элемент для работы с электронной почтой в Microsoft Outlook, позволяющий:
- Читать письма из указанных папок
- Фильтровать сообщения по различным критериям
- Сортировать результаты
- Работать с вложениями
В свойствах указываем путь до папки Outlook, которую необходимо прочесть. Список полученных писем робот сохранит в переменную вывода.
Поддерживаемые типы сообщений
- Обычные письма
- Ответы и пересылаемые сообщения
- Отчеты о доставке и прочтении
Не поддерживается чтение контактов и календарных событий.
Перед началом работы
- Установленный Microsoft Outlook 2013 или новее
- Настроенный почтовый профиль
- Элемент должен находиться внутри Приложения Outlook
.98b52b84.png&w=640&q=75)
Свойства
Описание общих свойств элемента см. в разделе Свойства элемента.
Символ * в названии свойства указывает на обязательность заполнения.
| Свойство | Тип | Описание |
|---|---|---|
| Outlook: | ||
| Путь к папке | String | Полный путь (например: @"\\user@domain.com\Inbox\Важные"). Регистр и язык должны соответствовать Outlook. Учитывайте, что название стандартных папок зависит от региональных настроек (например, “Inbox” может быть “Входящие”). |
| Отчеты | Boolean | Включает обработку отчетов о доставке |
| Не читать тело | Boolean | Ускоряет обработку, исключая загрузку содержимого писем |
| Читать свойства | Boolean | Определяет, нужно ли читать свойства писем. Прочитанные свойства можно просмотреть в модели письма OMailMessage в поле MessageProperties. Пример обращения к свойствам письма: <variable name>[0].MessageProperties, где <variable name> - название переменной вывода, хранящей список прочитанных писем, а [0] - индекс письма |
| Только непрочитанные | Boolean | Определяет, следует ли читать только непрочитанные письма. По умолчанию чекбокс снят - читаются все письма |
| Запрос | String | Поле для указания поискового запроса писем. Внимание: избегайте лишних кавычек внутри SQL-выражения. Пример правильного формата: "@SQL=urn:schemas:httpmail:subject like '%Office%'" |
| Сортировать | Определяет, нужно ли сортировать письма по какому-либо полю. По умолчанию None (сортировка не задана). Выберите из выпадающего списока нужный параметр | |
| Направление | Направление сортировки. Порядок сортировки: Ascending или Descending. По умолчанию - Ascending (по возрастанию). | |
| Вывод: | ||
| Переменная* | List <LTools.Office.Model.OMailMessage> | Переменная для сохранения списка полученных писем. (индексируется с 0) |
Примеры запросов
Для фильтрации писем используется язык DASL (DAV Searching and Locating). Весь запрос заключается в двойные кавычки, внутренние кавычки вокруг имён полей экранируются символом \.
Пример экранирования:
-- сырой DASL
@SQL="urn:schemas:httpmail:subject" = 'Проект Х'
-- готовый для вставки в поле «Запрос»
"@SQL=\"urn:schemas:httpmail:subject\" = 'Проект Х'"Частые запросы:
| Задача | Запрос |
|---|---|
| Тема содержит слово | "@SQL=\"urn:schemas:httpmail:subject\" LIKE '%срочно%'" |
| Фраза в теле письма | "@SQL=\"urn:schemas:httpmail:textdescription\" ci_phrasematch 'инвойс оплачен'" |
| Получено после даты | "@SQL=\"urn:schemas:httpmail:datereceived\" > '2026-06-01 00:00'" |
| Получено вчера | "@SQL=\"urn:schemas:httpmail:datereceived\" = 'yesterday'" |
| От конкретного отправителя | "@SQL=\"urn:schemas:httpmail:fromemail\" = 'ivanov@example.com'" |
| Высокий приоритет | "@SQL=\"urn:schemas:httpmail:importance\" = 2" |
| Непрочитанные от конкретного адресата | "@SQL=\"urn:schemas:httpmail:read\" = 0 AND \"urn:schemas:httpmail:fromemail\" = 'boss@company.com'" |
| С вложением от конкретного адресата | "@SQL=\"urn:schemas:httpmail:hasattachment\" = true AND \"urn:schemas:httpmail:fromemail\" = 'client@example.com'" |
Доступные макросы относительного времени: today, yesterday, tomorrow, lastweek, thismonth.
Важно! При составлении запросов убедитесь, что:
- Весь запрос заключён в двойные кавычки
- Внутренние кавычки экранированы (
\") - Поля
urn:schemasуказаны без лишних кавычек
Частые поля для фильтрации:
| Поле | Что фильтрует |
|---|---|
urn:schemas:httpmail:subject | Тема письма |
urn:schemas:httpmail:textdescription | Тело письма (через ci_phrasematch) |
urn:schemas:httpmail:datereceived | Дата получения |
urn:schemas:httpmail:fromemail | Email отправителя |
urn:schemas:httpmail:fromname | Имя отправителя |
urn:schemas:httpmail:to | Получатель |
urn:schemas:httpmail:cc | Копия |
urn:schemas:httpmail:bcc | Скрытая копия |
urn:schemas:httpmail:read | Прочитано (0 — нет, 1 — да) |
urn:schemas:httpmail:hasattachment | Наличие вложения (true/false) |
urn:schemas:httpmail:importance | Важность (0 — низкая, 1 — обычная, 2 — высокая) |
Доступные варианты сортировки
Доступные поля для сортировки писем:
| Поле | Описание | Пример SQL выражения |
|---|---|---|
| Bcc | Сортировка по скрытой копии | ”@SQL="urn:schemas:httpmail:bcc" ASC” |
| Cc | Сортировка по копии | ”@SQL="urn:schemas:httpmail:cc" DESC” |
| Receive Time | Сортировка по времени получения | ”@SQL="urn:schemas:httpmail:datereceived" DESC” |
| From | Сортировка по отправителю | ”@SQL="urn:schemas:httpmail:from" ASC” |
| To | Сортировка по получателю | ”@SQL="urn:schemas:httpmail:to" ASC” |
| Subject | Сортировка по теме письма | ”@SQL="urn:schemas:httpmail:subject" DESC” |
| Categories | Сортировка по категориям | ”@SQL="urn:schemas:httpmail:categories" ASC” |
Только код (Pure code)
Пример использования элемента в процессе с типом Только код (Pure code):
C#
LTools.Office.OutlookApp app = LTools.Office.OutlookApp.Init(wf, "Outlook", "password");
List<LTools.Office.Model.OMailMessage> ret = app.ReadMail("\\имя_профиля\Inbox", true);