Упорядочение сообщений Outlook
В Outlook пользователи могут упорядочивать свои сообщения по собственному усмотрению. Можно оставить все сообщения в одной папке "Входящие" или упорядочить их в древовидной структуре вложенных папок в соответствии со своими потребностями. Вы можете легко фильтровать, искать и сортировать сообщения во всем почтовом ящике пользователя или в определенных папках.
Доступ к почтовым папкам
Программно папки сообщений представляются ресурсом mailFolder, а папка "Входящие" является одним из корневых элементов структуры папок.
Каждый объект mailFolder указывается по идентификатору папки и содержит записываемое свойство displayName. По умолчанию Outlook создает для пользователей еще несколько папок. Вы можете ссылаться на эти стандартные папки по их идентификаторам или известным именам. Список доступных известных имен см. в статье Тип ресурса mailFolder.
Зная путь к нестандартной папке, вы можете получить доступ и к ней. Для этого используйте сокращение /users/{id}/mailfolders
, чтобы перейти на корневой уровень и получить все папки верхнего уровня:
GET https://graph.microsoft.com/v1.0/users/{id}/mailFolders
Затем укажите соответствующий идентификатор папки ({folder_id}
) по мере перехода на каждый уровень дерева папок:
GET https://graph.microsoft.com/v1.0/users/{id}/mailFolders/{folder_id}/childfolders
Повторяйте, пока не достигнете нужной папки в дереве.
Создание и организация дерева папок
Вы можете создавать почтовые папки в папке входящих или в качестве дочерних папок других папок. При создании, копировании или перемещении папки и ее содержимого Outlook обновляет доступные только для чтения свойства parentFolderId и childFolderCount соответствующих папок. Если содержимое папки копируется или перемещается в другую папку, то по умолчанию также меняются идентификаторы отдельных записей содержимого.
На уровне содержимого свойства totalItemCount и unreadItemCount сообщают вам общее количество элементов и число непрочитанных элементов в почтовой папке, соответственно. На уровне дочерних папок вы можете получить список дочерних папок для папки "Входящие" или другой папки. Свойство childFolderCount представляет количество непосредственных дочерних папок.
Помните, что почтовые папки Outlook могут содержать как сообщения, так и другие элементы, например события и контакты. В общем случае папки Outlook могут содержать разнородные элементы.
Используйте правила для автоматического копирования или перемещения сообщений
В Outlook пользователи могут настраивать правила для автоматизации определенных действий с входящими сообщениями при соблюдении некоторых предварительно заданных условий. Вы можете создать правило для папки "Входящие" в виде объекта messageRule, чтобы сообщение копировалось или перемещалось в определенную папку при соблюдении заданных условий. Условия — это объекты messageRulePredicate. Они могут включать тему или текст сообщения, определенные электронные адреса отправителей, отметку о важности и т. д.
Направляйте только те сообщения, которые вам интересны, в папку "Отсортированные входящие"
Сортировка почты позволяет клиентам научить Outlook отображать только входящие сообщения от отправителей, которые вам нужны, на вкладке Важные, а остальные — на вкладке Другие. Изначально система классификации Outlook упорядочивает сообщения в папке входящих по умолчанию. По мере использования системы вы можете исправлять ее поведение и обучать ее через пользовательский интерфейс или программным путем. Чем чаще вы используете сортировку почты, тем лучше система классификации может определить, какое входящее сообщение вы хотите видеть на вкладке Важные.
Вы можете обновить свойство inferenceClassification объекта message программным путем, чтобы указать, на какой вкладке должно отображаться сообщение: Отсортированные или Другие. Это свойство назначается отдельно для каждого сообщения. С другой стороны, если сообщения от определенного отправителя всегда должны отображаться на вкладке Отсортированные или Другие, то вы можете задать инструкцию для Outlook. Каждая инструкция представляет собой экземпляр объекта inferenceClassificationOverride, в котором указаны имя отправителя и вкладка для всех сообщений от этого отправителя: focused
или other
. Инструкции каждого пользователя для сортировки почты хранятся в виде коллекции экземпляров inferenceClassificationOverride в объекте user.
Обновляйте сообщения и почтовые папки в приложениях
Многие приложения должны синхронизироваться и обновлять почтовые данные пользователя в его локальном хранилище. Microsoft Graph позволяет подписаться на уведомления об изменениях данных и запрашивать фактические изменения, как только они происходят.
Уведомления асинхронно доставляются через веб-перехватчики при внесении изменений, избавляя приложение от необходимости частых опросов. Вы можете подписаться на уведомления о добавлении, обновлении или удалении почтовых данных пользователя. Например, вы можете создать подписку на сообщения в определенной папке (т. е. /me/mailFolders('{folderId'}')
) или на корневом уровне (т. е. /me/messages
). В подписке указывается адрес notificationUrl, на который Microsoft Graph отправляет приложению уведомления об изменениях указанных типов.
Для первой синхронизации почтового ящика пользователя сначала отправьте разностный запрос для почтовых папок, начиная с корневого уровня, чтобы синхронизировать все почтовые папки, а затем — разностный запрос для сообщений в каждой папке, чтобы синхронизировать отдельные сообщения.
Чтобы найти именно те объекты, которые были изменены, не считывая ресурс полностью при каждом уведомлении, вы можете использовать разностный запрос для отслеживания интересующих вас изменений и синхронизировать с ними ваше локальное хранилище. Вы можете отслеживать изменения сообщений в определенной папке. Вы также можете отслеживать изменения почтовых папок на корневом уровне (т. е. /me/mailfolders
).
Дальнейшие действия
- Зачем выполнять интеграцию с почтой Outlook?
- Использование почтового API и вариантов его использования в Microsoft Graph версии 1.0