> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yahont.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Outlook

> Индексирование почты, вложений и событий календаря из почтовых ящиков Exchange Online

Коннектор Outlook индексирует почтовые ящики в вашем тенанте Microsoft 365 через Microsoft Graph.
Он читает почтовые переписки, текст вложенных файлов и события календаря и может воспроизводить,
кто вправе читать каждый элемент, с помощью **Auto Sync Permissions**.

Коннектор входит как регистрация приложения,
настроенная в разделе [Настройка Microsoft 365](/admins/connectors/official/microsoft-365/setup).
Он обращается только к Exchange Online. Локальный Exchange Server не поддерживается.

## Как это работает

| Содержимое | Поведение |
| - | - |
| Переписки | Один документ на переписку в каждом почтовом ящике. Каждое письмо вносит отправителя, получателей, дату и текстовое тело, от старых к новым. Черновики пропускаются. В длинных ветках сохраняются 100 новейших индексируемых писем из 500 новейших. |
| Папки | Каждая индексируемая папка становится частью иерархии почтового ящика. Junk Email, Deleted Items, Drafts и Outbox пропускаются всегда, как и скрытые папки и папки поиска. Можно пропустить другие папки по имени, и подпапки пропущенной папки пропускаются вместе с ней. |
| Вложения | Необязательно. Текст вложенных файлов добавляется к письму, к которому они относились. Встроенные вложения (обычно изображения подписи), вложенные почтовые элементы и ссылки на облако пропускаются, как и файлы больше 20 МБ и типы файлов, которые Yahont не может разобрать. |
| Календарь | Необязательно. Один документ на событие с временем, местом, организатором, участниками и описанием. Повторяющаяся серия индексируется один раз по главному событию плюс любое изменённое вхождение. Отменённые события и события, помеченные как личные или конфиденциальные, пропускаются. |
| Права | Необязательно, на платных тарифах. Владелец почтового ящика видит всё в этом ящике. Событие также видят его организатор и участники. |

Каждое обновление читает письма, полученные каждой папкой с момента последнего запуска,
и перестраивает каждую переписку, в которой появилось новое письмо. Переписка, из которой только удалили письмо,
сохраняет старый текст, пока в ней не появится письмо или коннектор не будет переиндексирован.
Очистка удаляет переписки, которых больше нет, и события календаря, вышедшие за окно календаря.

## Перед началом

Вам нужен тенант Microsoft 365 с почтовыми ящиками Exchange Online и роли,
перечисленные в разделе [Настройка Microsoft 365](/admins/connectors/official/microsoft-365/setup#before-you-begin).

> [!NOTE]
>
> Регистрация приложения по умолчанию может открывать каждый почтовый ящик в тенанте.
> Чтобы ограничить её отдельными ящиками,
> либо ограничьте разрешения Graph с помощью [политики доступа
> приложения](https://learn.microsoft.com/en-us/graph/auth-limit-mailbox-access),
> либо замените разрешения на почту и календарь ролями с ограниченной областью через [Exchange RBAC для
> приложений](https://learn.microsoft.com/en-us/exchange/permissions-exo/application-rbac).
> В любом случае сохраните **User.Read.All**. Exchange применяет такое изменение от 30 минут до двух часов.

## Настройка Microsoft Entra

Следуйте [настройке Microsoft 365](/admins/connectors/official/microsoft-365/setup)
со строками Outlook из её [таблицы разрешений](/admins/connectors/official/microsoft-365/setup#permissions).
Для чего нужно каждое разрешение:

* **Mail.Read**: чтение почты и вложений в каждом почтовом ящике, который может открывать приложение
* **User.Read.All**: перечисление пользователей тенанта, определение адресов почтовых ящиков и построение списков прав
* **Calendars.Read**: чтение календарей, нужно только при включённом **Include Calendar**

Подходят и секрет клиента, и сертификат. Outlook не читает API SharePoint, поэтому сертификат здесь не нужен.

## Настройка Yahont

**1. Откройте коннектор Outlook**

В Yahont откройте **Панель администратора → Добавить коннектор** и выберите **Outlook**.

**2. Создайте учётные данные**

Выберите существующие учётные данные Outlook или создайте их,
как описано в разделе [Настройка Microsoft
365](/admins/connectors/official/microsoft-365/setup#enter-the-credential-in-onyx).

Yahont проверяет коннектор при сохранении: приложение может войти,
а пользователей тенанта можно перечислить или каждый указанный почтовый ящик доступен.
Во время индексации почтовый ящик или календарь, который приложение не может открыть,
записывается как ошибка с названием отсутствующего разрешения, если вы перечислили этот ящик,
и пропускается с записью в журнале в режиме «все ящики».

**3. Выберите почтовые ящики**

Задайте коннектору название. В **Mailboxes** перечислите имена участников (UPN)
или основные адреса электронной почты для индексации или оставьте список пустым,
чтобы индексировать ящик каждого включённого пользователя, у которого есть почтовый адрес.

Общие почтовые ящики обычно отключены для входа, поэтому автоматическое обнаружение их не находит.
Перечислите их явно.

**4. Выберите, что индексировать**

Включите **Include Attachments**, чтобы индексировать текст вложенных файлов, и **Include Calendar**,
чтобы индексировать календарь каждого ящика наряду с почтой. По умолчанию оба выключены.

**5. Выберите тип доступа**

Выберите тип доступа коннектора:

* **Public** делает всю проиндексированную почту видимой каждому пользователю Yahont.
* **Private** ограничивает коннектор выбранными группами пользователей Yahont.
* **Auto Sync Permissions** воспроизводит владение почтовым ящиком и участие во встречах.

**Private** и **Auto Sync Permissions** — платные функции:
тарифы Business и Enterprise в Yahont Cloud и Enterprise Edition при самостоятельном размещении.

**6. Задайте дату начала индексации**

В **Advanced Configuration** задайте **Indexing Start Date**, если вам не нужны все когда-либо полученные письма.
Без неё первая попытка индексации читает каждый ящик с первого письма,
и тенанту с многолетней почтой во многих ящиках требуются дни, чтобы стать доступным для поиска.
С датой начала Yahont индексирует переписки, получившие письмо в эту дату или позже, и пропускает остальные.
У календаря собственное окно, задаваемое **Calendar Past Days** и **Calendar Future Days** ниже. См.
[Расширенная конфигурация](/admins/connectors/overview#advanced-configuration).

**7. Подключите и проверьте**

Нажмите **Create Connector**. Затем откройте **Панель администратора → Существующие коннекторы**,
выберите коннектор и убедитесь, что первая попытка индексации завершилась.

### Расширенные настройки

| Настройка | По умолчанию | Назначение |
| - | - | - |
| Excluded Folders | пусто | Полные имена папок, которые нужно пропускать в каждом ящике, в дополнение к папкам, пропускаемым всегда. Имена сравниваются без учёта регистра, а подпапки пропущенной папки пропускаются вместе с ней. |
| Calendar Past Days | 365 | Как далеко назад простирается окно календаря. События старше этого значения покидают индекс при следующей очистке. Расширение позже требует переиндексации, так как неизменённые события сами не возвращаются. |
| Calendar Future Days | 180 | Как далеко вперёд простирается окно календаря. Расширение позже также требует переиндексации. |
| Authority Host | `https://login.microsoftonline.com` | Конечная точка идентификации Microsoft. См. [Национальные облака](/admins/connectors/official/microsoft-365/setup#national-clouds). |
| Graph API Host | `https://graph.microsoft.com` | Конечная точка Microsoft Graph. См. [Национальные облака](/admins/connectors/official/microsoft-365/setup#national-clouds). |

## Вложения

При включённом **Include Attachments** Yahont скачивает каждое вложенное файловое вложение и добавляет его текст к
письму, к которому оно относилось. Yahont разбирает следующие типы: `.csv`, `.docx`, `.eml`, `.epub`, `.html`, `.json`,
`.md`, `.mdx`, `.pdf`, `.pptx`, `.tsv`, `.txt`, `.xlsx`, `.xlsm`, `.xml`, `.yaml`, `.yml`, `.conf`, `.log` и `.sql`.

Одно письмо вносит не более 20 вложений, а переписка прекращает скачивание после 25 попыток скачивания,
включая неудачные, или одного миллиона символов текста вложений.
Задайте `OUTLOOK_CONNECTOR_ATTACHMENT_SIZE_THRESHOLD` (байты),
чтобы изменить ограничение размера 20 МБ (20 × 1024 × 1024 байт).

## Автосинхронизация прав

При **Auto Sync Permissions** Yahont предоставляет доступ по адресу электронной почты.
Адрес почтового ящика должен совпадать с адресом пользователя в Yahont.

| Элемент Outlook | Кто видит его в Yahont |
| - | - |
| Папки и переписки | Владелец почтового ящика |
| События календаря | Владелец почтового ящика, организатор и каждый участник |

Права привязываются во время индексации,
поэтому новый коннектор доступен для поиска нужным людям с первой попытки индексации.
Затем по умолчанию каждые 5 минут выполняется синхронизация прав, обновляющая списки доступа существующих документов.
Задайте `OUTLOOK_PERMISSION_DOC_SYNC_FREQUENCY` (секунды), чтобы изменить интервал.

> [!WARNING]
>
> У общего почтового ящика нет владельца, который входит в Yahont,
> поэтому его переписки остаются скрытыми при **Auto Sync Permissions**,
> если у какого-либо аккаунта Yahont нет адреса этого ящика.
> Делегированный доступ к общему почтовому ящику не синхронизируется. Чтобы сделать общий ящик доступным для поиска,
> индексируйте его отдельным коннектором с типом **Private** и назначьте группы пользователей,
> которые должны его видеть.

Синхронизация прав использует те же разрешения **Mail.Read** и **Calendars.Read**, что и индексация,
и не требует дополнительных разрешений Graph. **User.Read.All** предоставляет адреса владельцев.
Оба метода аутентификации её поддерживают.

## Устранение неполадок

Сообщения, которые могут показывать все коннекторы Microsoft 365, см.
в разделе [Настройка Microsoft 365](/admins/connectors/official/microsoft-365/setup#troubleshooting).

| Сообщение или симптом | Причина и решение |
| - | - |
| Приложение не может найти пользователей тенанта | Предоставьте **User.Read.All** как разрешение приложения и дайте согласие администратора. |
| Graph сообщил `ErrorAccessDenied` | Отсутствует **Mail.Read** (или **Calendars.Read**), либо почтовый ящик находится вне области Exchange приложения. Предоставьте разрешение или добавьте ящик в область, затем подождите до двух часов. |
| Эти почтовые ящики невозможно индексировать | Адрес в **Mailboxes** не соответствует ни одному пользователю, либо Graph не нашёл за ним ящик или отказал, так как он вне области Exchange приложения. Используйте имя участника (UPN) или основной адрес SMTP и добавьте ящики с ограниченной областью в область приложения. Общим ящикам обычно не нужна лицензия, только явная запись. |
| События календаря отсутствуют | Включите **Include Calendar** и предоставьте **Calendars.Read**. События вне окон прошлых и будущих дней не индексируются, а расширение окна требует переиндексации. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.